mirror of
http://git.mhez-qa.uplus.co.kr/hubez/hubez-admin.git
synced 2026-01-28 05:54:55 +09:00
TC 기능 수정 / 디자인 수정 변경
This commit is contained in:
@@ -130,7 +130,7 @@ max-height: 90vh; overflow: auto;}/*스크린 height 100%를 벗어나는 긴
|
|||||||
.popup .pop-cont {}
|
.popup .pop-cont {}
|
||||||
.popup .pop-cont p {font-size: 16px; color: #666666; font-weight: 400; letter-spacing: -0.8px; line-height: 100%;}
|
.popup .pop-cont p {font-size: 16px; color: #666666; font-weight: 400; letter-spacing: -0.8px; line-height: 100%;}
|
||||||
.popup .pop-cont p + p {margin-top: 10px;}
|
.popup .pop-cont p + p {margin-top: 10px;}
|
||||||
.popup .popup-btn1 {display: flex; justify-content: flex-start; align-items: center; margin: 35px 0 25px;}
|
.popup .popup-btn1 {display: flex; justify-content: center; align-items: center; margin: 35px 0 25px;}
|
||||||
.popup .popup-btn2 {display: flex; justify-content: space-between; align-items: center; margin: 35px 0 25px;}
|
.popup .popup-btn2 {display: flex; justify-content: space-between; align-items: center; margin: 35px 0 25px;}
|
||||||
.popup .popup-btn1 button {width: 49%; height: 40px; font-size: 16px; font-weight: 400; letter-spacing: -1.1px;}
|
.popup .popup-btn1 button {width: 49%; height: 40px; font-size: 16px; font-weight: 400; letter-spacing: -1.1px;}
|
||||||
.popup .popup-btn2 button {width: 49%; height: 40px; font-size: 16px; font-weight: 400; letter-spacing: -1.1px;}
|
.popup .popup-btn2 button {width: 49%; height: 40px; font-size: 16px; font-weight: 400; letter-spacing: -1.1px;}
|
||||||
|
|||||||
@@ -1708,7 +1708,6 @@ header .user_wrap .user_info .logout {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.essential span{
|
.essential span{
|
||||||
color:#eb008b;
|
|
||||||
padding-right: 3px;
|
padding-right: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<a href="javascript:void(0)" class="btn_user">{{ this.$store.getters['login/userId'] }}</a>
|
<a href="javascript:void(0)" class="btn_user">{{ this.$store.getters['login/userId'] }}</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="user_info">
|
<div class="user_info">
|
||||||
<a href="javascript:void(0)" class="modify">정보수정</a>
|
<!-- <a href="javascript:void(0)" class="modify">정보수정</a>-->
|
||||||
<a href="javascript:void(0)" class="logout" @click="logout();">로그아웃</a>
|
<a href="javascript:void(0)" class="logout" @click="logout();">로그아웃</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,141 +0,0 @@
|
|||||||
<template>
|
|
||||||
<!-- <div class="dimmed" @click="calendarCancel();"></div>-->
|
|
||||||
<div class="datepicker">
|
|
||||||
<div class="datepicker-head">
|
|
||||||
<div class="datepicker-btn">
|
|
||||||
<a href="#" class="datepicker-prev" @click="calendarData(-1)"><span></span></a>
|
|
||||||
<a href="#" class="datepicker-next" @click="calendarData(1)"><span></span></a></div>
|
|
||||||
<div class="datepicker-title">
|
|
||||||
<span>{{ year }}.</span>
|
|
||||||
<span>{{ month }}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<table class="datepicker-calender">
|
|
||||||
<tbody>
|
|
||||||
<tr v-for="(date, idx) in dates" :key="idx">
|
|
||||||
<td v-for="(day, secondIdx) in date"
|
|
||||||
:key="secondIdx"
|
|
||||||
:class="{
|
|
||||||
'disabled': idx === 0 && day >= lastMonthStart || dates.length - 1 === idx && nextMonthStart > day,
|
|
||||||
'today': day === today && month === currentMonth && year === currentYear
|
|
||||||
}"
|
|
||||||
>
|
|
||||||
<a href="#" @click="selectDay(day)">{{ day }}</a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
dates: [],
|
|
||||||
currentYear: 0,
|
|
||||||
currentMonth: 0,
|
|
||||||
year: 0,
|
|
||||||
month: 0,
|
|
||||||
lastMonthStart: 0,
|
|
||||||
nextMonthStart: 0,
|
|
||||||
today: 0,
|
|
||||||
};
|
|
||||||
},
|
|
||||||
created() { // 데이터에 접근이 가능한 첫 번째 라이프 사이클
|
|
||||||
const date = new Date();
|
|
||||||
this.currentYear = date.getFullYear(); // 이하 현재 년, 월 가지고 있기
|
|
||||||
this.currentMonth = date.getMonth() + 1;
|
|
||||||
this.year = this.currentYear;
|
|
||||||
this.month = this.currentMonth;
|
|
||||||
this.today = date.getDate(); // 오늘 날짜
|
|
||||||
this.calendarData();
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
calendarData(arg) { // 인자를 추가
|
|
||||||
if (arg < 0) { // -1이 들어오면 지난 달 달력으로 이동
|
|
||||||
this.month -= 1;
|
|
||||||
} else if (arg === 1) { // 1이 들어오면 다음 달 달력으로 이동
|
|
||||||
this.month += 1;
|
|
||||||
}
|
|
||||||
if (this.month === 0) { // 작년 12월
|
|
||||||
this.year -= 1;
|
|
||||||
this.month = 12;
|
|
||||||
} else if (this.month > 12) { // 내년 1월
|
|
||||||
this.year += 1;
|
|
||||||
this.month = 1;
|
|
||||||
}
|
|
||||||
const [
|
|
||||||
monthFirstDay,
|
|
||||||
monthLastDate,
|
|
||||||
lastMonthLastDate,
|
|
||||||
] = this.getFirstDayLastDate(this.year, this.month);
|
|
||||||
this.dates = this.getMonthOfDays(
|
|
||||||
monthFirstDay,
|
|
||||||
monthLastDate,
|
|
||||||
lastMonthLastDate,
|
|
||||||
);
|
|
||||||
console.log(this.lastMonthStart)
|
|
||||||
},
|
|
||||||
getFirstDayLastDate(year, month) {
|
|
||||||
const firstDay = new Date(year, month - 1, 1).getDay(); // 이번 달 시작 요일
|
|
||||||
const lastDate = new Date(year, month, 0).getDate(); // 이번 달 마지막 날짜
|
|
||||||
let lastYear = year;
|
|
||||||
let lastMonth = month - 1;
|
|
||||||
if (month === 1) {
|
|
||||||
lastMonth = 12;
|
|
||||||
lastYear -= 1;
|
|
||||||
}
|
|
||||||
const prevLastDate = new Date(lastYear, lastMonth, 0).getDate(); // 지난 달 마지막 날짜
|
|
||||||
return [firstDay, lastDate, prevLastDate];
|
|
||||||
},
|
|
||||||
getMonthOfDays(
|
|
||||||
monthFirstDay,
|
|
||||||
monthLastDate,
|
|
||||||
prevMonthLastDate,
|
|
||||||
) {
|
|
||||||
let day = 1;
|
|
||||||
let prevDay = (prevMonthLastDate - monthFirstDay) + 1;
|
|
||||||
const dates = [];
|
|
||||||
let weekOfDays = [];
|
|
||||||
while (day <= monthLastDate) {
|
|
||||||
if (day === 1) {
|
|
||||||
// 1일이 어느 요일인지에 따라 테이블에 그리기 위한 지난 셀의 날짜들을 구할 필요가 있다.
|
|
||||||
for (let j = 0; j < monthFirstDay; j += 1) {
|
|
||||||
if (j === 0) this.lastMonthStart = prevDay; // 지난 달에서 제일 작은 날짜
|
|
||||||
weekOfDays.push(prevDay);
|
|
||||||
prevDay += 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
weekOfDays.push(day);
|
|
||||||
if (weekOfDays.length === 7) {
|
|
||||||
// 일주일 채우면
|
|
||||||
dates.push(weekOfDays);
|
|
||||||
weekOfDays = []; // 초기화
|
|
||||||
}
|
|
||||||
day += 1;
|
|
||||||
}
|
|
||||||
const len = weekOfDays.length;
|
|
||||||
if (len > 0 && len < 7) {
|
|
||||||
for (let k = 1; k <= 7 - len; k += 1) {
|
|
||||||
weekOfDays.push(k);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (weekOfDays.length > 0) dates.push(weekOfDays); // 남은 날짜 추가
|
|
||||||
this.nextMonthStart = weekOfDays[0]; // 이번 달 마지막 주에서 제일 작은 날짜
|
|
||||||
return dates;
|
|
||||||
},
|
|
||||||
selectDay(day){
|
|
||||||
const year = this.year
|
|
||||||
const month = this.month.toString().length < 2 ? '0'+ this.month : this.month
|
|
||||||
const dd = day.toString().length < 2 ? '0' + day : day;
|
|
||||||
const getDate = year + '-' + month + '-' + dd
|
|
||||||
this.$parent.calendarCalbackFnc(getDate);
|
|
||||||
},
|
|
||||||
calendarCancel(){
|
|
||||||
this.$parent.openEndPicker= false
|
|
||||||
this.$parent.openStartPicker= false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
@@ -2,10 +2,10 @@
|
|||||||
<!-- <div class="wrap bg-wrap"> -->
|
<!-- <div class="wrap bg-wrap"> -->
|
||||||
<div>
|
<div>
|
||||||
|
|
||||||
<div class="dimmed modal01" @click="alertModalCancel();"></div>
|
<div class="dimmed alertCommon" @click="alertModalCancel();"></div>
|
||||||
<div class="popup-wrap modal01">
|
<div class="popup-wrap alertCommon">
|
||||||
<!-- 로그인실패: 확인 -->
|
<!-- 로그인실패: 확인 -->
|
||||||
<div class="popup modal01">
|
<div class="popup alertCommon">
|
||||||
<div class="pop-head">
|
<div class="pop-head">
|
||||||
<h3 class="pop-tit">{{title}}</h3>
|
<h3 class="pop-tit">{{title}}</h3>
|
||||||
</div>
|
</div>
|
||||||
@@ -79,7 +79,9 @@ export default {
|
|||||||
},
|
},
|
||||||
methods :{
|
methods :{
|
||||||
alertModalOpen(props){
|
alertModalOpen(props){
|
||||||
var dimmed = document.getElementsByClassName('modal01');
|
console.log("@@@@@@@@@@")
|
||||||
|
console.log(props)
|
||||||
|
var dimmed = document.getElementsByClassName('alertCommon');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for(var i = 0; i < dimmed.length; i++){
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
@@ -90,13 +92,13 @@ export default {
|
|||||||
this.msg4 = props.msg4;
|
this.msg4 = props.msg4;
|
||||||
},
|
},
|
||||||
alertModalClose(){
|
alertModalClose(){
|
||||||
var dimmed = document.getElementsByClassName('modal01');
|
var dimmed = document.getElementsByClassName('alertCommon');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for(var i = 0; i < dimmed.length; i++){
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
alertModalCancel(){
|
alertModalCancel(){
|
||||||
var dimmed = document.getElementsByClassName('modal01');
|
var dimmed = document.getElementsByClassName('alertCommon');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for(var i = 0; i < dimmed.length; i++){
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
<div class="title">상세 정보</div>
|
<div class="title">상세 정보</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="table table_form m50">
|
<div class="table table_form m50">
|
||||||
<form autocomplete="off">
|
|
||||||
<table>
|
<table>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width:140px">
|
<col style="width:140px">
|
||||||
@@ -24,7 +23,7 @@
|
|||||||
<th>가입일</th>
|
<th>가입일</th>
|
||||||
<td colspan="2"><input type="text" disabled v-model="subsDt"></td>
|
<td colspan="2"><input type="text" disabled v-model="subsDt"></td>
|
||||||
<th>상태</th>
|
<th>상태</th>
|
||||||
<td colspan="2"><input type="text" disabled v-model="subsSttusCd"></td>
|
<td colspan="2"><input type="text" disabled v-model="subsSttusNm"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="tr_input w75">
|
<tr class="tr_input w75">
|
||||||
<th>고객사</th>
|
<th>고객사</th>
|
||||||
@@ -36,7 +35,7 @@
|
|||||||
<th>대표자</th>
|
<th>대표자</th>
|
||||||
<td colspan="2"><input type="text" disabled v-model="reprNm"></td>
|
<td colspan="2"><input type="text" disabled v-model="reprNm"></td>
|
||||||
<th>사용자 구분</th>
|
<th>사용자 구분</th>
|
||||||
<td colspan="2"><input type="text" disabled v-model="custTyCd"></td>
|
<td colspan="2"><input type="text" disabled v-model="custTyNm"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="tr_input">
|
<tr class="tr_input">
|
||||||
<th>사업자등록번호</th>
|
<th>사업자등록번호</th>
|
||||||
@@ -84,7 +83,6 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">발송건수
|
<div class="count">발송건수
|
||||||
@@ -122,19 +120,19 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>합계</td>
|
<td>합계</td>
|
||||||
<td>{{sndCntTotal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}}</td>
|
<td>{{ sndCntTotal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||||
<td>{{sndCntSTotal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}}</td>
|
<td>{{ sndCntSTotal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||||
<td>{{sndCntLTotal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}}</td>
|
<td>{{ sndCntLTotal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||||
<td>{{sndCntMTotal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}}</td>
|
<td>{{ sndCntMTotal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||||
<td>{{sndCntATotal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}}</td>
|
<td>{{ sndCntATotal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr v-for="(option, i) in list" v-bind:key="i">
|
<tr v-for="(option, i) in list" v-bind:key="i">
|
||||||
<td>{{option.sumYm}}</td>
|
<td>{{ option.sumYm }}</td>
|
||||||
<td>{{option.sndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}}</td>
|
<td>{{ option.sndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||||
<td>{{option.sndCntS.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}}</td>
|
<td>{{ option.sndCntS.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||||
<td>{{option.sndCntL.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}}</td>
|
<td>{{ option.sndCntL.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||||
<td>{{option.sndCntM.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}}</td>
|
<td>{{ option.sndCntM.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||||
<td>{{option.sndCntA.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}}</td>
|
<td>{{ option.sndCntA.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@@ -156,10 +154,11 @@ import channelMgtApi from '../service/channelMgtApi';
|
|||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import xlsx from '@/common/excel';
|
import xlsx from '@/common/excel';
|
||||||
import AdminNmPop from '../../custMgt/components/AdminNmPop';
|
import AdminNmPop from '../../custMgt/components/AdminNmPop';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "channelDetail",
|
name: "channelDetail",
|
||||||
data(){
|
data() {
|
||||||
return{
|
return {
|
||||||
row: {},
|
row: {},
|
||||||
subsDt: '',
|
subsDt: '',
|
||||||
norgNm: '',
|
norgNm: '',
|
||||||
@@ -201,12 +200,14 @@ export default {
|
|||||||
sndCntLTotal: 0,
|
sndCntLTotal: 0,
|
||||||
sndCntMTotal: 0,
|
sndCntMTotal: 0,
|
||||||
sndCntATotal: 0,
|
sndCntATotal: 0,
|
||||||
list:[],
|
list: [],
|
||||||
totalCnt: '',
|
totalCnt: '',
|
||||||
props: {},
|
props: {},
|
||||||
excelHeader: [],
|
excelHeader: [],
|
||||||
pageType:'CHANNELDETAIL',
|
pageType: 'CHANNELDETAIL',
|
||||||
serviceId:'',
|
serviceId: '',
|
||||||
|
subsSttusNm: '',
|
||||||
|
custTyNm: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@@ -219,29 +220,29 @@ export default {
|
|||||||
channelMgtApi,
|
channelMgtApi,
|
||||||
AdminNmPop,
|
AdminNmPop,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
console.log(this.$route.params.userSeq);
|
console.log(this.$route.params.userSeq);
|
||||||
this.loginId = this.$route.params.loginId;
|
this.loginId = this.$route.params.loginId;
|
||||||
this.getExcelHeader();
|
this.getExcelHeader();
|
||||||
this.channelDetail(this.$route.params.userSeq);
|
this.channelDetail(this.$route.params.userSeq);
|
||||||
},
|
},
|
||||||
methods :{
|
methods: {
|
||||||
async channelDetail(userSeq){
|
async channelDetail(userSeq) {
|
||||||
this.row.userSeq = userSeq;
|
this.row.userSeq = userSeq;
|
||||||
try {
|
try {
|
||||||
const response = await channelMgtApi.channelDetail(this.row);
|
const response = await channelMgtApi.channelDetail(this.row);
|
||||||
const result = response.data;
|
const result = response.data;
|
||||||
console.log(result);
|
console.log(result);
|
||||||
var sndCntTotal=0;
|
var sndCntTotal = 0;
|
||||||
var sndCntSTotal=0;
|
var sndCntSTotal = 0;
|
||||||
var sndCntLTotal=0;
|
var sndCntLTotal = 0;
|
||||||
var sndCntMTotal=0;
|
var sndCntMTotal = 0;
|
||||||
var sndCntATotal=0;
|
var sndCntATotal = 0;
|
||||||
if(result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
//데이터값이 널이면 오류처리
|
//데이터값이 널이면 오류처리
|
||||||
|
|
||||||
for(var i = 0; i < result.data.list.length; i++ ){
|
for (var i = 0; i < result.data.list.length; i++) {
|
||||||
console.log('[succCnt]:'+result.data.list[i].succCnt);
|
console.log('[succCnt]:' + result.data.list[i].succCnt);
|
||||||
sndCntTotal = sndCntTotal + Number(result.data.list[i].sndCnt);
|
sndCntTotal = sndCntTotal + Number(result.data.list[i].sndCnt);
|
||||||
sndCntSTotal = sndCntSTotal + Number(result.data.list[i].sndCntS)
|
sndCntSTotal = sndCntSTotal + Number(result.data.list[i].sndCntS)
|
||||||
sndCntLTotal = sndCntLTotal + Number(result.data.list[i].sndCntL)
|
sndCntLTotal = sndCntLTotal + Number(result.data.list[i].sndCntL)
|
||||||
@@ -274,12 +275,14 @@ export default {
|
|||||||
this.adr3 = result.data.adr3;
|
this.adr3 = result.data.adr3;
|
||||||
this.custTyCd = result.data.custTyCd;
|
this.custTyCd = result.data.custTyCd;
|
||||||
this.plan = result.data.plan;
|
this.plan = result.data.plan;
|
||||||
if(this.bizrno != '' && this.bizrno != null){
|
this.subsSttusNm = result.data.subsSttusNm;
|
||||||
|
this.custTyNm = result.data.custTyNm;
|
||||||
|
if (this.bizrno != '' && this.bizrno != null) {
|
||||||
this.bizrno1 = this.bizrno.substr(0, 3);
|
this.bizrno1 = this.bizrno.substr(0, 3);
|
||||||
this.bizrno2 = this.bizrno.substr(3, 2);
|
this.bizrno2 = this.bizrno.substr(3, 2);
|
||||||
this.bizrno3 = this.bizrno.substr(5);
|
this.bizrno3 = this.bizrno.substr(5);
|
||||||
}
|
}
|
||||||
if(this.cprRegNo != '' && this.cprRegNo != null){
|
if (this.cprRegNo != '' && this.cprRegNo != null) {
|
||||||
this.cprRegNo1 = this.cprRegNo.substr(0, 6);
|
this.cprRegNo1 = this.cprRegNo.substr(0, 6);
|
||||||
this.cprRegNo2 = this.cprRegNo.substr(6);
|
this.cprRegNo2 = this.cprRegNo.substr(6);
|
||||||
}
|
}
|
||||||
@@ -315,7 +318,8 @@ export default {
|
|||||||
dataOrder: 'header'
|
dataOrder: 'header'
|
||||||
};
|
};
|
||||||
// console.log(data);
|
// console.log(data);
|
||||||
xlsx.export(data.list, saveFileName, options).then(() => {});
|
xlsx.export(data.list, saveFileName, options).then(() => {
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
async getExcelDataDown() {
|
async getExcelDataDown() {
|
||||||
@@ -335,7 +339,7 @@ export default {
|
|||||||
const result = response.data;
|
const result = response.data;
|
||||||
if (result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
return result.data;
|
return result.data;
|
||||||
}else{
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
@@ -343,10 +347,10 @@ export default {
|
|||||||
}
|
}
|
||||||
}, // end of getExcelDataDown
|
}, // end of getExcelDataDown
|
||||||
goChannelList() {
|
goChannelList() {
|
||||||
this.$router.push({ name: 'channelList'});
|
this.$router.push({name: 'channelList'});
|
||||||
},
|
},
|
||||||
searchIDPopOpen: function(){
|
searchIDPopOpen: function () {
|
||||||
console.log('>>> serviceId:'+this.serviceId);
|
console.log('>>> serviceId:' + this.serviceId);
|
||||||
var params = {
|
var params = {
|
||||||
"serviceId": this.serviceId,
|
"serviceId": this.serviceId,
|
||||||
"serviceSeq": this.row.userSeq,
|
"serviceSeq": this.row.userSeq,
|
||||||
@@ -359,5 +363,4 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@@ -5,7 +5,6 @@
|
|||||||
<h3 class="title">유치채널현황</h3>
|
<h3 class="title">유치채널현황</h3>
|
||||||
<p class="breadcrumb">유치현황관리 > 유치채널현황</p>
|
<p class="breadcrumb">유치현황관리 > 유치채널현황</p>
|
||||||
</div>
|
</div>
|
||||||
<form autocomplete="off" class="search_form">
|
|
||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="group">
|
<div class="group">
|
||||||
<div class="input_box cal">
|
<div class="input_box cal">
|
||||||
@@ -53,11 +52,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="right" class="label">유치자 마당ID</label>
|
<label for="right" class="label">유치자 마당ID</label>
|
||||||
<input class="" type="text" id="" placeholder="검색어 입력" v-model="grid.params.loginId"/>
|
<input class="" type="text" id="" placeholder="검색어 입력" v-model.trim="grid.params.loginId" maxlength="50"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="right" class="label">유치업체</label>
|
<label for="right" class="label">유치업체</label>
|
||||||
<input class="" type="text" id="" placeholder="검색어 입력" v-model="grid.params.norgNm"/>
|
<input class="" type="text" id="" placeholder="검색어 입력" v-model.trim="grid.params.norgNm" maxlength="50"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="group">
|
<div class="group">
|
||||||
@@ -66,21 +65,24 @@
|
|||||||
<select name="searchType" id="searchType" v-model="searchType" @keyup.enter="search">
|
<select name="searchType" id="searchType" v-model="searchType" @keyup.enter="search">
|
||||||
<option value="01">고객사명</option>
|
<option value="01">고객사명</option>
|
||||||
<option value="02">이름</option>
|
<option value="02">이름</option>
|
||||||
<option value="03">사업자등록번호(생년월일)</option>
|
<option value="03">사업자등록번호</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText"/>
|
<input class="search-box" type="text" id="search" placeholder="검색어 입력"
|
||||||
|
v-model.trim="grid.params.searchText" maxlength="100"/>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||||
<div class="select_box NumberSe">
|
<div class="select_box NumberSe">
|
||||||
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
||||||
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{ option.text }}</option>
|
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{
|
||||||
|
option.text
|
||||||
|
}}
|
||||||
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -111,8 +113,6 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -130,7 +130,7 @@ class CustomATagRenderer {
|
|||||||
const el = document.createElement('a');
|
const el = document.createElement('a');
|
||||||
el.href = 'javascript:void(0);';
|
el.href = 'javascript:void(0);';
|
||||||
el.className = 'btn_text';
|
el.className = 'btn_text';
|
||||||
el.innerText= String(props.colValue)
|
el.innerText = String(props.colValue)
|
||||||
this.el = el;
|
this.el = el;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,7 +140,7 @@ class CustomATagRenderer {
|
|||||||
|
|
||||||
addEvent(selEl) {
|
addEvent(selEl) {
|
||||||
selEl.addEventListener("click", () => {
|
selEl.addEventListener("click", () => {
|
||||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
const {callback} = this.props["cgrido" + this.props.colName].options;
|
||||||
callback(this.props);
|
callback(this.props);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -157,19 +157,19 @@ export default {
|
|||||||
startDate: new Date(),
|
startDate: new Date(),
|
||||||
endDate: new Date(),
|
endDate: new Date(),
|
||||||
|
|
||||||
row:{},
|
row: {},
|
||||||
pageType:'CHANNEL',
|
pageType: 'CHANNEL',
|
||||||
subsSttusCdList:[],
|
subsSttusCdList: [],
|
||||||
custTyCdList:[],
|
custTyCdList: [],
|
||||||
openPicker: false,
|
openPicker: false,
|
||||||
// 테이블 리스트 데이터
|
// 테이블 리스트 데이터
|
||||||
perPageCnt: 50,
|
perPageCnt: 50,
|
||||||
options: [
|
options: [
|
||||||
{ text: '20', value: 20},
|
{text: '20', value: 20},
|
||||||
{ text: '50', value: 50},
|
{text: '50', value: 50},
|
||||||
{ text: '100', value: 100}
|
{text: '100', value: 100}
|
||||||
],
|
],
|
||||||
searchType:'01',
|
searchType: '01',
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
grid: {
|
grid: {
|
||||||
url: '/api/v1/bo/attractMgt/channelList',
|
url: '/api/v1/bo/attractMgt/channelList',
|
||||||
@@ -180,29 +180,28 @@ export default {
|
|||||||
addCls: 'box_OFvis',
|
addCls: 'box_OFvis',
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'No', align: 'center', width: '6%'},
|
{name: 'no', header: 'No', align: 'center', width: '6%'},
|
||||||
{ name: 'subsDt', header: '가입일', align: 'center', width: '11%'},
|
{name: 'subsDt', header: '가입일', align: 'center', width: '11%'},
|
||||||
{ name: 'norgNm', header: '유치업체', align: 'center', width: '10%'},
|
{name: 'norgNm', header: '유치업체', align: 'center', width: '10%'},
|
||||||
{ name: 'userSeq', header: '사용자일련번호', align: 'center', width: '10%', hidden:true},
|
{name: 'userSeq', header: '사용자일련번호', align: 'center', width: '10%', hidden: true},
|
||||||
{ name: 'loginId', header: '마당ID(이름)', align: 'center', width: '10%', renderer: {
|
{
|
||||||
|
name: 'loginId', header: '마당ID(이름)', align: 'center', width: '10%', renderer: {
|
||||||
type: CustomATagRenderer
|
type: CustomATagRenderer
|
||||||
, options: {
|
, options: {
|
||||||
callback: this.channelDetail,
|
callback: this.channelDetail,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'custNm', header: '고객사명', align: 'center', width: '10%'},
|
{name: 'custNm', header: '고객사명', align: 'center', width: '10%'},
|
||||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: '12%'
|
{name: 'bizrno', header: '사업자번호', align: 'center', width: '12%'},
|
||||||
,formatter: props => {
|
{name: 'userNm', header: '이름', align: 'center', width: '10%'},
|
||||||
let result = props.bizrno.substring(0,3)+'-'+ props.bizrno.substring(3,5)+'-'+ props.bizrno.substring(5,10)
|
{name: 'subsSttusCd', header: '상태', align: 'center', width: '10%', hidden: true},
|
||||||
return result;
|
{name: 'subsSttusNm', header: '상태', align: 'center', width: '10%'},
|
||||||
}
|
{name: 'custTyCd', header: '구분', align: 'center', width: '10%', hidden: true},
|
||||||
},
|
{name: 'custTyNm', header: '구분', align: 'center', width: '10%'},
|
||||||
{ name: 'userNm', header: '이름', align: 'center', width: '10%'},
|
{
|
||||||
{ name: 'subsSttusCd', header: '상태', align: 'center', width: '10%'},
|
name: 'sndCnt', header: '전체발송건수', align: 'center', width: '11%',
|
||||||
{ name: 'custTyCd', header: '구분', align: 'center', width: '10%'},
|
formatter: props => {
|
||||||
{ name: 'sndCnt', header: '전체발송건수', align: 'center', width: '11%',
|
|
||||||
formatter: props =>{
|
|
||||||
let result = props.sndCnt;
|
let result = props.sndCnt;
|
||||||
//.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
//.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
@@ -217,10 +216,12 @@ export default {
|
|||||||
subsStDt: '',
|
subsStDt: '',
|
||||||
subsEdDt: '',
|
subsEdDt: '',
|
||||||
subsSttusCd: '',
|
subsSttusCd: '',
|
||||||
|
subsSttusNm: '',
|
||||||
loginId: '',
|
loginId: '',
|
||||||
norgNm: '',
|
norgNm: '',
|
||||||
sndCnt: '',
|
sndCnt: '',
|
||||||
custTyCd: '',
|
custTyCd: '',
|
||||||
|
custTyNm: '',
|
||||||
},
|
},
|
||||||
excelHeader: []
|
excelHeader: []
|
||||||
}
|
}
|
||||||
@@ -231,7 +232,7 @@ export default {
|
|||||||
commonModal,
|
commonModal,
|
||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
this.setCodeData();
|
this.setCodeData();
|
||||||
this.getExcelHeader();
|
this.getExcelHeader();
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
@@ -248,7 +249,7 @@ export default {
|
|||||||
let page = 1;
|
let page = 1;
|
||||||
// 페이지 정보 및 검색 조건
|
// 페이지 정보 및 검색 조건
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
console.log('getCondition : '+getCondition);
|
console.log('getCondition : ' + getCondition);
|
||||||
|
|
||||||
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
||||||
let isKeep = false;
|
let isKeep = false;
|
||||||
@@ -261,19 +262,19 @@ export default {
|
|||||||
this.search(isKeep);
|
this.search(isKeep);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
|
|
||||||
console.log('this.perPageCnt'+this.perPageCnt);
|
console.log('this.perPageCnt' + this.perPageCnt);
|
||||||
console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
this.grid.params.searchType1 = this.searchType
|
this.grid.params.searchType1 = this.searchType
|
||||||
this.$refs.table.search(this.grid.params, isKeep);
|
this.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
changePerPage: function(){ // 페이지당 조회할 개수
|
changePerPage: function () { // 페이지당 조회할 개수
|
||||||
this.grid.pagePerRows = this.perPageCnt;
|
this.grid.pagePerRows = this.perPageCnt;
|
||||||
this.search(true);
|
this.search(true);
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
console.log("==========getP : " + getP._currentPage);
|
console.log("==========getP : " + getP._currentPage);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -283,7 +284,7 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
console.log("getCondition : "+ getCondition.perPage);
|
console.log("getCondition : " + getCondition.perPage);
|
||||||
},
|
},
|
||||||
async getExcelDataDown() {
|
async getExcelDataDown() {
|
||||||
try {
|
try {
|
||||||
@@ -303,7 +304,7 @@ export default {
|
|||||||
const result = response.data;
|
const result = response.data;
|
||||||
if (result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
return result.data;
|
return result.data;
|
||||||
}else{
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
@@ -330,7 +331,8 @@ export default {
|
|||||||
dataOrder: 'header'
|
dataOrder: 'header'
|
||||||
};
|
};
|
||||||
// console.log(data);
|
// console.log(data);
|
||||||
xlsx.export(data.list, saveFileName, options).then(() => {});
|
xlsx.export(data.list, saveFileName, options).then(() => {
|
||||||
|
});
|
||||||
},
|
},
|
||||||
getExcelHeader() {
|
getExcelHeader() {
|
||||||
// 헤더를 mockup으로 관리한다.
|
// 헤더를 mockup으로 관리한다.
|
||||||
@@ -338,21 +340,21 @@ export default {
|
|||||||
this.excelHeader = res;
|
this.excelHeader = res;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
channelDetail(props){
|
channelDetail(props) {
|
||||||
console.log(props);
|
console.log(props);
|
||||||
this.row.userId = props.loginId;
|
this.row.userId = props.loginId;
|
||||||
this.row.userSeq = props.userSeq;
|
this.row.userSeq = props.userSeq;
|
||||||
this.$router.push({ name: 'channelDetail', params: this.row });
|
this.$router.push({name: 'channelDetail', params: this.row});
|
||||||
},
|
},
|
||||||
setCodeData() {
|
setCodeData() {
|
||||||
// 상태 옵션 셋팅.
|
// 상태 옵션 셋팅.
|
||||||
api.commCode({'grpCd' : 'SUBS_STTUS_CD'}).then(response => {
|
api.commCode({'grpCd': 'SUBS_STTUS_CD'}).then(response => {
|
||||||
// grid.params.subsSttusCd
|
// grid.params.subsSttusCd
|
||||||
this.subsSttusCdList = response.data.data.list;
|
this.subsSttusCdList = response.data.data.list;
|
||||||
this.grid.params.subsSttusCd = '';
|
this.grid.params.subsSttusCd = '';
|
||||||
});
|
});
|
||||||
|
|
||||||
api.commCode({'grpCd' : 'CUST_TY_CD'}).then(response => {
|
api.commCode({'grpCd': 'CUST_TY_CD'}).then(response => {
|
||||||
this.custTyCdList = response.data.data.list;
|
this.custTyCdList = response.data.data.list;
|
||||||
this.grid.params.custTyCd = '';
|
this.grid.params.custTyCd = '';
|
||||||
});
|
});
|
||||||
@@ -386,15 +388,15 @@ export default {
|
|||||||
closeDate(type) {
|
closeDate(type) {
|
||||||
if (type != undefined && type != null) {
|
if (type != undefined && type != null) {
|
||||||
if (type == 'start') {
|
if (type == 'start') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {from: this.endDate};
|
||||||
this.disabledEDate = { to: this.startDate, from: this.endDate };
|
this.disabledEDate = {to: this.startDate, from: this.endDate};
|
||||||
} else if (type == 'end') {
|
} else if (type == 'end') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {from: this.endDate};
|
||||||
this.disabledEDate = { to: this.startDate, from: new Date() };
|
this.disabledEDate = {to: this.startDate, from: new Date()};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
customFormatter: function(date) {
|
customFormatter: function (date) {
|
||||||
if (this.sDateDiv == 'month') {
|
if (this.sDateDiv == 'month') {
|
||||||
return moment(date).format('YYYY-MM');
|
return moment(date).format('YYYY-MM');
|
||||||
} else if (this.sDateDiv == 'year') {
|
} else if (this.sDateDiv == 'year') {
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
<h3 class="title">정산이력</h3>
|
<h3 class="title">정산이력</h3>
|
||||||
<p class="breadcrumb">정산 > 정산이력</p>
|
<p class="breadcrumb">정산 > 정산이력</p>
|
||||||
</div>
|
</div>
|
||||||
<form autocomplete="off" class="search_form">
|
|
||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="group">
|
<div class="group">
|
||||||
<div class="input_box cal">
|
<div class="input_box cal">
|
||||||
@@ -23,6 +22,7 @@
|
|||||||
v-model="startDate"
|
v-model="startDate"
|
||||||
@selected="selectedStartDate(0)"
|
@selected="selectedStartDate(0)"
|
||||||
@closed="closeDate('start')"
|
@closed="closeDate('start')"
|
||||||
|
:picker-options="startDateOptions"
|
||||||
></vuejs-datepicker>
|
></vuejs-datepicker>
|
||||||
</span>
|
</span>
|
||||||
<span class="hypen">~</span>
|
<span class="hypen">~</span>
|
||||||
@@ -36,6 +36,7 @@
|
|||||||
v-model="endDate"
|
v-model="endDate"
|
||||||
@selected="selectedEndDate(0)"
|
@selected="selectedEndDate(0)"
|
||||||
@closed="closeDate('end')"
|
@closed="closeDate('end')"
|
||||||
|
:picker-options="endDateOptions"
|
||||||
></vuejs-datepicker>
|
></vuejs-datepicker>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -44,21 +45,25 @@
|
|||||||
<div class="group">
|
<div class="group">
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="right" class="label">고객사명</label>
|
<label for="right" class="label">고객사명</label>
|
||||||
<input class="search-box" type="text" id="" placeholder="검색어 입력" v-model="grid.params.custNm"/>
|
<input class="search-box" type="text" id="" placeholder="검색어 입력" v-model="grid.params.custNm"
|
||||||
|
maxlength="100" @keyup.enter="search"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="right" class="label">사업자번호</label>
|
<label for="right" class="label">사업자번호</label>
|
||||||
<input class="search-box" type="text" id="" placeholder="검색어 입력" v-model="grid.params.bizrno"/>
|
<input class="search-box" type="text" id="" placeholder="검색어 입력" v-model="grid.params.bizrno"
|
||||||
|
@keypress="onlyNum" @input="onlyNum" maxlength="10" @keyup.enter="search"/>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||||
<div class="select_box NumberSe">
|
<div class="select_box NumberSe">
|
||||||
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
||||||
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{ option.text }}</option>
|
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{
|
||||||
|
option.text
|
||||||
|
}}
|
||||||
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -98,9 +103,11 @@ import xlsx from '@/common/excel';
|
|||||||
import lodash from 'lodash';
|
import lodash from 'lodash';
|
||||||
import commonModal from "@/components/modal/commonModal";
|
import commonModal from "@/components/modal/commonModal";
|
||||||
import calcMgtApi from "@/modules/calculate/service/calcMgtApi";
|
import calcMgtApi from "@/modules/calculate/service/calcMgtApi";
|
||||||
|
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'calcList',
|
name: 'calcList',
|
||||||
|
mixins: [utils_mixin, chkPattern2],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 달력 데이터
|
// 달력 데이터
|
||||||
@@ -109,15 +116,16 @@ export default {
|
|||||||
sDateDiv: 'month',
|
sDateDiv: 'month',
|
||||||
startDate: new Date(),
|
startDate: new Date(),
|
||||||
endDate: new Date(),
|
endDate: new Date(),
|
||||||
|
startDateOptions: {disabledDate: this.disabledStDate},
|
||||||
startDt:'',
|
endDateOptions: {disabledDate: this.disabledEdDate},
|
||||||
endDt:'',
|
startDt: '',
|
||||||
startYear:'',
|
endDt: '',
|
||||||
startMonth:'',
|
startYear: '',
|
||||||
endYear:'',
|
startMonth: '',
|
||||||
endMonth:'',
|
endYear: '',
|
||||||
|
endMonth: '',
|
||||||
row: {},
|
row: {},
|
||||||
list:[],
|
list: [],
|
||||||
totalCnt: '',
|
totalCnt: '',
|
||||||
|
|
||||||
pageType: 'CALC',
|
pageType: 'CALC',
|
||||||
@@ -125,9 +133,9 @@ export default {
|
|||||||
// 테이블 리스트 데이터
|
// 테이블 리스트 데이터
|
||||||
perPageCnt: 50,
|
perPageCnt: 50,
|
||||||
options: [
|
options: [
|
||||||
{ text: '20', value: 20},
|
{text: '20', value: 20},
|
||||||
{ text: '50', value: 50},
|
{text: '50', value: 50},
|
||||||
{ text: '100', value: 100}
|
{text: '100', value: 100}
|
||||||
],
|
],
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
|
|
||||||
@@ -139,99 +147,112 @@ export default {
|
|||||||
initialRequest: false,
|
initialRequest: false,
|
||||||
addCls: 'box_OFvis',
|
addCls: 'box_OFvis',
|
||||||
|
|
||||||
header:[
|
header: [
|
||||||
[
|
[
|
||||||
{ header: '날짜', childNames: [] },
|
{header: '날짜', childNames: []},
|
||||||
{ header: '고객사명', childNames: [] },
|
{header: '고객사명', childNames: []},
|
||||||
{ header: '사업자번호', childNames: [] },
|
{header: '사업자번호', childNames: []},
|
||||||
{ header: '요금제', childNames: [] },
|
{header: '요금제', childNames: []},
|
||||||
{ header: '시작금액', childNames: [] },
|
{header: '시작금액', childNames: []},
|
||||||
{ header: '사용금액', childNames: [] },
|
{header: '사용금액', childNames: []},
|
||||||
{ header: '이월금액', childNames: [] },
|
{header: '이월금액', childNames: []},
|
||||||
{ header: '종량금액', childNames: [] },
|
{header: '종량금액', childNames: []},
|
||||||
{ header: '소멸금액', childNames: [] },
|
{header: '소멸금액', childNames: []},
|
||||||
{ header: '청구금액', childNames: [] },
|
{header: '청구금액', childNames: []},
|
||||||
{ header: '채널별 발송 건수', childNames: ['totalSndCnt','smsSndCnt','lmsSndCnt','mmsSndCnt','atlkSndCnt'] },
|
{header: '채널별 발송 건수', childNames: ['totalSndCnt', 'smsSndCnt', 'lmsSndCnt', 'mmsSndCnt', 'atlkSndCnt']},
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'useYm', header: '날짜', align: 'center'},
|
{name: 'useYm', header: '날짜', align: 'center'},
|
||||||
{ name: 'custNm', header: '고객사명', align: 'center', width: '130px'},
|
{name: 'custNm', header: '고객사명', align: 'center', width: '130px'},
|
||||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: '120px'
|
{
|
||||||
,formatter: props => {
|
name: 'bizrno', header: '사업자번호', align: 'center', width: '120px'
|
||||||
let result = props.bizrno.substring(0,3)+'-'+ props.bizrno.substring(3,5)+'-'+ props.bizrno.substring(5,10)
|
// ,formatter: props => {
|
||||||
|
// let result = props.bizrno.substring(0,3)+'-'+ props.bizrno.substring(3,5)+'-'+ props.bizrno.substring(5,10)
|
||||||
|
// return result;
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'prodNm', header: '요금제', align: 'center', width: '160px'
|
||||||
|
, formatter: props => {
|
||||||
|
let result = "<p>" + props.prodNm + "</p>\n<p>(" + props.prodAmt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ")</p>";
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'prodNm', header: '요금제', align: 'center', width: '160px'
|
{
|
||||||
,formatter: props => {
|
name: 'startAmt', header: '시작금액', align: 'center'
|
||||||
let result = "<p>"+ props.prodNm+"</p>\n<p>("+props.prodAmt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')+")</p>";
|
, formatter: props => {
|
||||||
return result;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{ name: 'startAmt', header: '시작금액', align: 'center'
|
|
||||||
,formatter: props =>{
|
|
||||||
let result = props.startAmt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.startAmt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'useAmt', header: '사용금액', align: 'center'
|
{
|
||||||
,formatter: props =>{
|
name: 'useAmt', header: '사용금액', align: 'center'
|
||||||
|
, formatter: props => {
|
||||||
let result = props.useAmt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.useAmt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'cfwdAmt', header: '이월금액', align: 'center'
|
{
|
||||||
,formatter: props =>{
|
name: 'cfwdAmt', header: '이월금액', align: 'center'
|
||||||
|
, formatter: props => {
|
||||||
let result = props.cfwdAmt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.cfwdAmt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'mrtUseAmt', header: '종량금액', align: 'center'
|
{
|
||||||
,formatter: props =>{
|
name: 'mrtUseAmt', header: '종량금액', align: 'center'
|
||||||
|
, formatter: props => {
|
||||||
let result = props.mrtUseAmt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.mrtUseAmt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'extncAmt', header: '소멸금액', align: 'center'
|
{
|
||||||
,formatter: props =>{
|
name: 'extncAmt', header: '소멸금액', align: 'center'
|
||||||
|
, formatter: props => {
|
||||||
let result = props.extncAmt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.extncAmt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'billingAmt', header: '청구금액', align: 'center'
|
{
|
||||||
,formatter: props =>{
|
name: 'billingAmt', header: '청구금액', align: 'center'
|
||||||
|
, formatter: props => {
|
||||||
let result = props.billingAmt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.billingAmt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'totalSndCnt', header: '전체', align: 'center', cls: 'td_line'
|
{
|
||||||
,formatter: props =>{
|
name: 'totalSndCnt', header: '전체', align: 'center', cls: 'td_line'
|
||||||
|
, formatter: props => {
|
||||||
let result = props.totalSndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.totalSndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'smsSndCnt', header: 'SMS', align: 'center', cls: 'td_line'
|
{
|
||||||
,formatter: props =>{
|
name: 'smsSndCnt', header: 'SMS', align: 'center', cls: 'td_line'
|
||||||
|
, formatter: props => {
|
||||||
let result = props.smsSndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.smsSndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'lmsSndCnt', header: 'LMS', align: 'center', cls: 'td_line'
|
{
|
||||||
,formatter: props =>{
|
name: 'lmsSndCnt', header: 'LMS', align: 'center', cls: 'td_line'
|
||||||
|
, formatter: props => {
|
||||||
let result = props.lmsSndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.lmsSndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'mmsSndCnt', header: 'MMS', align: 'center', cls: 'td_line'
|
{
|
||||||
,formatter: props =>{
|
name: 'mmsSndCnt', header: 'MMS', align: 'center', cls: 'td_line'
|
||||||
|
, formatter: props => {
|
||||||
let result = props.mmsSndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.mmsSndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'atlkSndCnt', header: '알림톡', align: 'center', cls: 'td_line'
|
{
|
||||||
,formatter: props =>{
|
name: 'atlkSndCnt', header: '알림톡', align: 'center', cls: 'td_line'
|
||||||
|
, formatter: props => {
|
||||||
let result = props.atlkSndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.atlkSndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@@ -252,7 +273,7 @@ export default {
|
|||||||
commonModal,
|
commonModal,
|
||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
this.gridParamSet();
|
this.gridParamSet();
|
||||||
this.getExcelHeader();
|
this.getExcelHeader();
|
||||||
@@ -264,7 +285,7 @@ export default {
|
|||||||
let page = 1;
|
let page = 1;
|
||||||
// 페이지 정보 및 검색 조건
|
// 페이지 정보 및 검색 조건
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
console.log('getCondition : '+getCondition);
|
console.log('getCondition : ' + getCondition);
|
||||||
|
|
||||||
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
||||||
let isKeep = false;
|
let isKeep = false;
|
||||||
@@ -289,7 +310,7 @@ export default {
|
|||||||
next();
|
next();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
console.log('>>>>>>> search Start >>>>>>');
|
console.log('>>>>>>> search Start >>>>>>');
|
||||||
this.$refs.table.search(this.grid.params, isKeep);
|
this.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.grid.params = {
|
this.grid.params = {
|
||||||
@@ -298,9 +319,9 @@ export default {
|
|||||||
custNm: this.grid.params.custNm,
|
custNm: this.grid.params.custNm,
|
||||||
bizrno: this.grid.params.bizrno
|
bizrno: this.grid.params.bizrno
|
||||||
};
|
};
|
||||||
console.log('this.perPageCnt'+this.perPageCnt);
|
console.log('this.perPageCnt' + this.perPageCnt);
|
||||||
console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
/*
|
/*
|
||||||
var currentDate = new Date();
|
var currentDate = new Date();
|
||||||
var currentMonth = moment(currentDate).format('YYYYMM');
|
var currentMonth = moment(currentDate).format('YYYYMM');
|
||||||
console.log('[currentMonth]:'+currentMonth);
|
console.log('[currentMonth]:'+currentMonth);
|
||||||
@@ -312,14 +333,14 @@ export default {
|
|||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
if (moment(this.grid.params.startMonth).isBefore(moment(this.grid.params.endMonth).subtract(2, 'months').format('YYYYMM'))) {
|
// if (moment(this.grid.params.startMonth).isBefore(moment(this.grid.params.endMonth).subtract(2, 'months').format('YYYYMM'))) {
|
||||||
//alert('검색 기간은 전월 최대 3개월까지 선택 가능 합니다.');
|
// //alert('검색 기간은 전월 최대 3개월까지 선택 가능 합니다.');
|
||||||
this.row.title = '발송통계';
|
// this.row.title = '발송통계';
|
||||||
this.row.msg1 = '검색 기간은 전월 최대 3개월까지 선택 가능 합니다.';
|
// this.row.msg1 = '검색 기간은 전월 최대 3개월까지 선택 가능 합니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
// this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
return false
|
// return false
|
||||||
}
|
// }
|
||||||
|
|
||||||
this.$refs.table.search(this.grid.params, isKeep);
|
this.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
@@ -327,12 +348,16 @@ export default {
|
|||||||
},
|
},
|
||||||
setPeriodDay(day) {
|
setPeriodDay(day) {
|
||||||
this.periodDay = day;
|
this.periodDay = day;
|
||||||
// this.endDate = new Date();
|
this.endDate = new Date();
|
||||||
// this.startDate = moment(this.endDate)
|
// this.startDate = moment(this.endDate)
|
||||||
// .subtract(day, 'day')
|
// .subtract(day, 'month')
|
||||||
// .toDate();
|
// .toDate();
|
||||||
|
|
||||||
|
console.log(this.startDt)
|
||||||
this.initSetStartDate();
|
this.initSetStartDate();
|
||||||
this.initSetEndDate();
|
this.initSetEndDate();
|
||||||
|
// this.disabledStDate(this.startDate)
|
||||||
|
// this.disabledEndDate(this.endDate)
|
||||||
|
|
||||||
this.closeDate('start');
|
this.closeDate('start');
|
||||||
this.closeDate('end');
|
this.closeDate('end');
|
||||||
@@ -355,17 +380,25 @@ export default {
|
|||||||
},
|
},
|
||||||
closeDate(type) {
|
closeDate(type) {
|
||||||
if (type != undefined && type != null) {
|
if (type != undefined && type != null) {
|
||||||
|
let initStartDate = new Date();
|
||||||
|
initStartDate.setMonth(Number(moment(initStartDate).format('MM')) - 4)
|
||||||
if (type == 'start') {
|
if (type == 'start') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {to: initStartDate, from: new Date()};
|
||||||
this.disabledEDate = { to: this.startDate, from: this.endDate };
|
if (this.startDate !== initStartDate) {
|
||||||
|
this.disabledEDate = {to: this.startDate, from: new Date()};
|
||||||
|
|
||||||
|
}
|
||||||
} else if (type == 'end') {
|
} else if (type == 'end') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledEDate = {to: initStartDate, from: new Date()};
|
||||||
this.disabledEDate = { to: this.startDate, from: new Date() };
|
if (this.endDate !== new Date()) {
|
||||||
|
this.disabledSDate = {from: this.endDate};
|
||||||
|
this.disabledSDate = {to: initStartDate, from: new Date()};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
customFormatter: function(date) {
|
customFormatter: function (date) {
|
||||||
console.log(this.sDateDiv)
|
// console.log(this.sDateDiv)
|
||||||
if (this.sDateDiv == 'month') {
|
if (this.sDateDiv == 'month') {
|
||||||
return moment(date).format('YYYY-MM');
|
return moment(date).format('YYYY-MM');
|
||||||
} else if (this.sDateDiv == 'year') {
|
} else if (this.sDateDiv == 'year') {
|
||||||
@@ -374,13 +407,13 @@ export default {
|
|||||||
return moment(date).format('YYYY-MM-DD');
|
return moment(date).format('YYYY-MM-DD');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
changePerPage: function(){ // 페이지당 조회할 개수
|
changePerPage: function () { // 페이지당 조회할 개수
|
||||||
this.grid.pagePerRows = this.perPageCnt;
|
this.grid.pagePerRows = this.perPageCnt;
|
||||||
this.search(true);
|
this.search(true);
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
console.log("==========getP : " + getP._currentPage);
|
// console.log("==========getP : " + getP._currentPage);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
page: getP._currentPage,
|
page: getP._currentPage,
|
||||||
perPage: this.perPageCnt,
|
perPage: this.perPageCnt,
|
||||||
@@ -388,7 +421,7 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
console.log("getCondition : "+ getCondition.perPage);
|
// console.log("getCondition : " + getCondition.perPage);
|
||||||
},
|
},
|
||||||
gridParamSet() {
|
gridParamSet() {
|
||||||
this.grid.params = {
|
this.grid.params = {
|
||||||
@@ -398,7 +431,7 @@ export default {
|
|||||||
bizrno: this.grid.params.bizrno
|
bizrno: this.grid.params.bizrno
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("gridParamSet()-startMonth : "+ this.grid.params.startMonth);
|
// console.log("gridParamSet()-startMonth : " + this.grid.params.startMonth);
|
||||||
},
|
},
|
||||||
getExcelHeader() {
|
getExcelHeader() {
|
||||||
// 헤더를 mockup으로 관리한다.
|
// 헤더를 mockup으로 관리한다.
|
||||||
@@ -423,7 +456,8 @@ export default {
|
|||||||
dataOrder: 'header'
|
dataOrder: 'header'
|
||||||
};
|
};
|
||||||
// console.log(data);
|
// console.log(data);
|
||||||
xlsx.export(data.list, saveFileName, options).then(() => {});
|
xlsx.export(data.list, saveFileName, options).then(() => {
|
||||||
|
});
|
||||||
},
|
},
|
||||||
async getExcelDataDown() {
|
async getExcelDataDown() {
|
||||||
try {
|
try {
|
||||||
@@ -434,25 +468,26 @@ export default {
|
|||||||
const result = response.data;
|
const result = response.data;
|
||||||
if (result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
return result.data;
|
return result.data;
|
||||||
}else{
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
initSetStartDate(){
|
initSetStartDate() {
|
||||||
let initStartDate = new Date();
|
let initStartDate = new Date();
|
||||||
initStartDate.setMonth(Number(moment(initStartDate).format('MM')) -4);
|
initStartDate.setMonth(Number(moment(initStartDate).format('MM')) - 4);
|
||||||
this.startDate = initStartDate;
|
this.startDate = initStartDate;
|
||||||
console.log(moment(this.startDate).format('YYYY-MM-DD'));
|
// console.log(moment(this.startDate).format('YYYY-MM-DD'));
|
||||||
},
|
},
|
||||||
initSetEndDate(){
|
initSetEndDate() {
|
||||||
let initEndDate = new Date();
|
let initEndDate = new Date();
|
||||||
initEndDate.setMonth(Number(moment(initEndDate).format('MM')) -2);
|
initEndDate.setMonth(Number(moment(initEndDate).format('MM')) - 1);
|
||||||
this.endDate = initEndDate;
|
this.endDate = initEndDate;
|
||||||
console.log(moment(this.endDate).format('YYYY-MM-DD'));
|
// console.log(moment(this.endDate).format('YYYY-MM-DD'));
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
;
|
||||||
</script>
|
</script>
|
||||||
@@ -6,7 +6,6 @@
|
|||||||
<h3 class="title">알림톡 템플릿 목록 조회</h3>
|
<h3 class="title">알림톡 템플릿 목록 조회</h3>
|
||||||
<p class="breadcrumb">채널관리 > 알림톡 템플릿 관리</p>
|
<p class="breadcrumb">채널관리 > 알림톡 템플릿 관리</p>
|
||||||
</div>
|
</div>
|
||||||
<form autocomplete="off" class="search_form">
|
|
||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="select_box">
|
<div class="select_box">
|
||||||
<label for="stat" class="label">상태</label>
|
<label for="stat" class="label">상태</label>
|
||||||
@@ -26,11 +25,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="input_box id">
|
<div class="input_box id">
|
||||||
<label for="search" class="label">검색어</label>
|
<label for="search" class="label">검색어</label>
|
||||||
<input type="text" id="id1" placeholder="검색어 입력" v-model="grid.params.searchText1" v-on:keydown.enter.prevent="search"/>
|
<input type="text" id="id1" placeholder="검색어 입력" v-model.trim="grid.params.searchText1"
|
||||||
|
@keyup.enter="search" maxlength="100"/>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||||
<div class="select_box NumberSe">
|
<div class="select_box NumberSe">
|
||||||
@@ -41,9 +40,6 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="button_group">-->
|
|
||||||
<!-- <button type="button" class="button blue admin" @click="excelDown();">엑셀다운로드</button>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
</div>
|
</div>
|
||||||
<div class="table">
|
<div class="table">
|
||||||
<custom-grid
|
<custom-grid
|
||||||
@@ -74,94 +70,6 @@ import xlsx from '@/common/excel';
|
|||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import commonModal from "@/components/modal/commonModal";
|
import commonModal from "@/components/modal/commonModal";
|
||||||
|
|
||||||
class customBRegNo {
|
|
||||||
constructor(props) {
|
|
||||||
this.props = props;
|
|
||||||
const el = document.createElement('td');
|
|
||||||
var bregNo = String(props.colValue);
|
|
||||||
el.innerText= bregNo;
|
|
||||||
if(bregNo.length == 10){
|
|
||||||
el.innerText= bregNo.substring(0,3)+'-'+bregNo.substring(3,5)+'-'+bregNo.substring(5,10)
|
|
||||||
}
|
|
||||||
this.el = el;
|
|
||||||
}
|
|
||||||
|
|
||||||
getElement() {
|
|
||||||
return this.el;
|
|
||||||
}
|
|
||||||
|
|
||||||
addEvent(selEl) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
class customTmpltType {
|
|
||||||
constructor(props) {
|
|
||||||
this.props = props;
|
|
||||||
const el = document.createElement('td');
|
|
||||||
var tmpltType = String(props.colValue);
|
|
||||||
el.innerText= "";
|
|
||||||
switch(tmpltType){
|
|
||||||
case '01' :
|
|
||||||
el.innerText= "기본형";
|
|
||||||
break;
|
|
||||||
case '02' :
|
|
||||||
el.innerText= "부가정보형";
|
|
||||||
break;
|
|
||||||
case '03' :
|
|
||||||
el.innerText= "광고추가형";
|
|
||||||
break;
|
|
||||||
case '04' :
|
|
||||||
el.innerText= "복잡형";
|
|
||||||
break;
|
|
||||||
default :
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
this.el = el;
|
|
||||||
}
|
|
||||||
|
|
||||||
getElement() {
|
|
||||||
return this.el;
|
|
||||||
}
|
|
||||||
|
|
||||||
addEvent(selEl) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class customStat {
|
|
||||||
constructor(props) {
|
|
||||||
this.props = props;
|
|
||||||
const el = document.createElement('td');
|
|
||||||
var stat = String(props.colValue);
|
|
||||||
el.innerText= "";
|
|
||||||
switch(stat){
|
|
||||||
case 'T' :
|
|
||||||
el.innerText= "신청완료";
|
|
||||||
break;
|
|
||||||
case 'R' :
|
|
||||||
el.innerText= "검수요청완료";
|
|
||||||
break;
|
|
||||||
case 'Q' :
|
|
||||||
el.innerText= "카카오 검수중";
|
|
||||||
break;
|
|
||||||
case 'A' :
|
|
||||||
el.innerText= "템플릿승인";
|
|
||||||
break;
|
|
||||||
case 'S' :
|
|
||||||
el.innerText= "반려(" + props.returnReason + ")";
|
|
||||||
break;
|
|
||||||
default :
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
this.el = el;
|
|
||||||
}
|
|
||||||
|
|
||||||
getElement() {
|
|
||||||
return this.el;
|
|
||||||
}
|
|
||||||
|
|
||||||
addEvent(selEl) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'temltList',
|
name: 'temltList',
|
||||||
data() {
|
data() {
|
||||||
@@ -172,8 +80,8 @@ export default {
|
|||||||
cate2Code: "",
|
cate2Code: "",
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
pageType: 'CHANN',
|
pageType: 'CHANN',
|
||||||
searchType1:'',
|
searchType1: '',
|
||||||
searchType2:'custNm',
|
searchType2: 'custNm',
|
||||||
|
|
||||||
// 테이블 리스트 데이터
|
// 테이블 리스트 데이터
|
||||||
perPageCnt: 50,
|
perPageCnt: 50,
|
||||||
@@ -188,28 +96,28 @@ export default {
|
|||||||
|
|
||||||
header: [
|
header: [
|
||||||
[
|
[
|
||||||
{ header: 'NO', childNames: [] },
|
{header: 'NO', childNames: []},
|
||||||
{ header: '고객사명', childNames: [] },
|
{header: '고객사명', childNames: []},
|
||||||
{ header: '사업자번호', childNames: [] },
|
{header: '사업자번호', childNames: []},
|
||||||
{ header: '템플릿코드', childNames: [] },
|
{header: '템플릿코드', childNames: []},
|
||||||
{ header: '템플릿명', childNames: [] },
|
{header: '템플릿명', childNames: []},
|
||||||
{ header: '템플릿 유형', childNames: [] },
|
{header: '템플릿 유형', childNames: []},
|
||||||
{ header: '상태(반려사유)', childNames: [] },
|
{header: '상태', childNames: []},
|
||||||
{ header: '발신프로필', childNames: [] },
|
{header: '발신프로필', childNames: []},
|
||||||
{ header: '최종수정일', childNames: [] }
|
{header: '최종수정일', childNames: []}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'NO', align: 'center', width: '4%' },
|
{name: 'no', header: 'NO', align: 'center', width: '4%'},
|
||||||
{ name: 'custNm', header: '고객사명', align: 'center', width: '12%' },
|
{name: 'custNm', header: '고객사명', align: 'center', width: '12%'},
|
||||||
{ name: 'bregNo', header: '사업자번호', align: 'center', width: '12%',renderer: {type: customBRegNo}},
|
{name: 'bregNo', header: '사업자번호', align: 'center', width: '12%'},
|
||||||
{ name: 'tmpltCd', header: '템플릿코드', align: 'center', width: '12%'},
|
{name: 'tmpltCd', header: '템플릿코드', align: 'center', width: '12%'},
|
||||||
{ name: 'tmpltNm', header: '템플릿명', align: 'center', width: '12%'},
|
{name: 'tmpltNm', header: '템플릿명', align: 'center', width: '12%'},
|
||||||
{ name: 'tmpltType', header: '템플릿 유형', align: 'center', width: '12%',renderer: {type: customTmpltType}},
|
{name: 'tmpltType', header: '템플릿 유형', align: 'center', width: '12%'},
|
||||||
{ name: 'stat', header: '상태(반려사유)', align: 'center', width: '12%',renderer: {type: customStat}},
|
{name: 'stat', header: '상태', align: 'center', width: '12%'},
|
||||||
{ name: 'sendProfile', header: '발신프로필', align: 'center', width: '125'},
|
{name: 'sendProfile', header: '발신프로필', align: 'center', width: '125'},
|
||||||
{ name: 'lastChgDt', header: '최종수정일', width: '12%', cls: 'td_line' }
|
{name: 'lastChgDt', header: '최종수정일', width: '12%', cls: 'td_line'}
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
params: {
|
params: {
|
||||||
@@ -226,7 +134,7 @@ export default {
|
|||||||
channelMgtApi,
|
channelMgtApi,
|
||||||
commonModal,
|
commonModal,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
this.getExcelHeader();
|
this.getExcelHeader();
|
||||||
},
|
},
|
||||||
@@ -237,7 +145,8 @@ export default {
|
|||||||
params: {
|
params: {
|
||||||
searchType1: '',
|
searchType1: '',
|
||||||
searchType2: 'custNm',
|
searchType2: 'custNm',
|
||||||
searchText1: ''}
|
searchText1: ''
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -258,7 +167,7 @@ export default {
|
|||||||
this.search(isKeep);
|
this.search(isKeep);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
this.grid.params.searchType1 = this.searchType1
|
this.grid.params.searchType1 = this.searchType1
|
||||||
this.grid.params.searchType2 = this.searchType2
|
this.grid.params.searchType2 = this.searchType2
|
||||||
@@ -266,7 +175,7 @@ export default {
|
|||||||
this.$refs.table.search(this.grid.params, isKeep);
|
this.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
console.log("==========getP : " + getP);
|
console.log("==========getP : " + getP);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -296,7 +205,7 @@ export default {
|
|||||||
const result = response.data;
|
const result = response.data;
|
||||||
if (result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
return result.data;
|
return result.data;
|
||||||
}else{
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
@@ -320,7 +229,8 @@ export default {
|
|||||||
dataOrder: 'header'
|
dataOrder: 'header'
|
||||||
};
|
};
|
||||||
// console.log(data);
|
// console.log(data);
|
||||||
xlsx.export(data.list, saveFileName, options).then(() => {});
|
xlsx.export(data.list, saveFileName, options).then(() => {
|
||||||
|
});
|
||||||
},
|
},
|
||||||
getExcelHeader() {
|
getExcelHeader() {
|
||||||
// 헤더를 mockup으로 관리한다.
|
// 헤더를 mockup으로 관리한다.
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<common-modal ref="commmonModal"></common-modal>
|
<common-modal ref="commmonModal"></common-modal>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -167,6 +167,14 @@ export default {
|
|||||||
this.$parent.channelDetail(this.serviceSeq);
|
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 {
|
}else {
|
||||||
//alert('관리자정보 수정에 실패하였습니다.');
|
//alert('관리자정보 수정에 실패하였습니다.');
|
||||||
this.formReset();
|
this.formReset();
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
<button class="btn-default" @click="excelPopClose">취소</button>
|
<button class="btn-default" @click="excelPopClose">취소</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<common-modal ref="commmonModal"></common-modal>
|
<validationConfirm-modal ref="validationConfirmPop"></validationConfirm-modal>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -45,11 +45,11 @@
|
|||||||
<script>
|
<script>
|
||||||
import api from '@/service/api';
|
import api from '@/service/api';
|
||||||
import custMgtApi from '../service/custMgtApi.js';
|
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 xlsx from '@/common/excel';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import XLSX from 'xlsx';
|
import XLSX from 'xlsx';
|
||||||
import commonModal from './commonModal';
|
import ValidationConfirmPop from "@/modules/custMgt/components/ValidationConfirmPop";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'memberBulkRegPop',
|
name: 'memberBulkRegPop',
|
||||||
@@ -68,7 +68,7 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
commonModal,
|
ValidationConfirmPop,
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getExcelHeader();
|
this.getExcelHeader();
|
||||||
@@ -101,7 +101,7 @@ export default {
|
|||||||
toComplete() {
|
toComplete() {
|
||||||
this.row.serviceId = this.adminId;
|
this.row.serviceId = this.adminId;
|
||||||
// 팝업으로 교체 예정
|
// 팝업으로 교체 예정
|
||||||
if (confirm('정상 업로드 되었습니다.')){
|
if (confirm('정상 업로드 되었습니다.')) {
|
||||||
this.excelPopClose();
|
this.excelPopClose();
|
||||||
this.$parent.memberDetail(this.adminId);
|
this.$parent.memberDetail(this.adminId);
|
||||||
}
|
}
|
||||||
@@ -132,7 +132,8 @@ export default {
|
|||||||
header: this.excelHeader,
|
header: this.excelHeader,
|
||||||
dataOrder: 'header',
|
dataOrder: 'header',
|
||||||
};
|
};
|
||||||
xlsx.export([], saveFileName, options).then(() => {});
|
xlsx.export([], saveFileName, options).then(() => {
|
||||||
|
});
|
||||||
},
|
},
|
||||||
getExcelHeader() {
|
getExcelHeader() {
|
||||||
// 헤더를 mockup으로 관리한다.
|
// 헤더를 mockup으로 관리한다.
|
||||||
@@ -167,13 +168,14 @@ export default {
|
|||||||
this.row.msg1 = '파일을 읽는 동안 에러가 발생 했습니다.';
|
this.row.msg1 = '파일을 읽는 동안 에러가 발생 했습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
};
|
};
|
||||||
reader.onloadend = (e) => {};
|
reader.onloadend = (e) => {
|
||||||
|
};
|
||||||
|
|
||||||
reader.onload = (e) => {
|
reader.onload = (e) => {
|
||||||
let data = reader.result;
|
let data = reader.result;
|
||||||
let workbook = XLSX.read(data, { type: 'binary' });
|
let workbook = XLSX.read(data, {type: 'binary'});
|
||||||
workbook.SheetNames.forEach((sheetName) => {
|
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;
|
tmpResult = rowObj;
|
||||||
const limitCnt = 100;
|
const limitCnt = 100;
|
||||||
|
|
||||||
@@ -190,7 +192,7 @@ export default {
|
|||||||
if (idx > limitCnt - 1) {
|
if (idx > limitCnt - 1) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
let { ID, 이름, 휴대폰번호, 이메일, ID잠금 } = r;
|
let {ID, 이름, 휴대폰번호, 이메일, ID잠금} = r;
|
||||||
ID = '' + (vm.isNull(ID) ? '' : ID);
|
ID = '' + (vm.isNull(ID) ? '' : ID);
|
||||||
이름 = '' + (vm.isNull(이름) ? '' : 이름);
|
이름 = '' + (vm.isNull(이름) ? '' : 이름);
|
||||||
휴대폰번호 = '' + (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) {
|
if (retVal) {
|
||||||
const pVal = [
|
const pVal = [
|
||||||
{ name: '이름', val: 이름, len: 20 },
|
{name: '이름', val: 이름, len: 20},
|
||||||
{ name: 'ID잠금', val: ID잠금, len: 4 },
|
{name: 'ID잠금', val: ID잠금, len: 4},
|
||||||
];
|
];
|
||||||
|
|
||||||
const rVal = vm.isTitle(pVal);
|
const rVal = vm.isTitle(pVal);
|
||||||
|
|
||||||
if (rVal.retVal) {
|
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 {
|
} else {
|
||||||
vm.oData.push({ ID, 이름, 휴대폰번호, 이메일, ID잠금, 오류내용: rVal.msg });
|
vm.oData.push({ID, 이름, 휴대폰번호, 이메일, ID잠금, 오류내용: rVal.msg});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
vm.oData.push({ ID, 이름, 휴대폰번호, 이메일, ID잠금, 오류내용: msg });
|
vm.oData.push({ID, 이름, 휴대폰번호, 이메일, ID잠금, 오류내용: msg});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -230,35 +232,35 @@ export default {
|
|||||||
};
|
};
|
||||||
reader.readAsBinaryString(file);
|
reader.readAsBinaryString(file);
|
||||||
},
|
},
|
||||||
validXlxs({ 이름, 휴대폰번호, 이메일 }) {
|
validXlxs({이름, 휴대폰번호, 이메일}) {
|
||||||
if (this.isNull(이름)) {
|
if (this.isNull(이름)) {
|
||||||
return { retVal: false, msg: '이름 누락' };
|
return {retVal: false, msg: '이름 누락'};
|
||||||
}
|
}
|
||||||
if (this.isNull(휴대폰번호)) {
|
if (this.isNull(휴대폰번호)) {
|
||||||
return { retVal: false, msg: '휴대폰번호 누락' };
|
return {retVal: false, msg: '휴대폰번호 누락'};
|
||||||
}
|
}
|
||||||
if (!this.isMobile(휴대폰번호)) {
|
if (!this.isMobile(휴대폰번호)) {
|
||||||
if (!this.isMobile2(휴대폰번호)) {
|
if (!this.isMobile2(휴대폰번호)) {
|
||||||
return { retVal: false, msg: '휴대폰번호 형식 오류' };
|
return {retVal: false, msg: '휴대폰번호 형식 오류'};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!this.emailCheck(이메일)) {
|
if (!this.emailCheck(이메일)) {
|
||||||
return { retVal: false, msg: '이메일 형식 오류' };
|
return {retVal: false, msg: '이메일 형식 오류'};
|
||||||
}
|
}
|
||||||
return { retVal: true, msg: '정상' };
|
return {retVal: true, msg: '정상'};
|
||||||
},
|
},
|
||||||
isTitle(pVal) {
|
isTitle(pVal) {
|
||||||
for (const o of pVal) {
|
for (const o of pVal) {
|
||||||
if (this.bytes(o.val) > o.len) {
|
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 strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]*$';
|
||||||
const regExp_g = new RegExp(strRegExp, 'g');
|
const regExp_g = new RegExp(strRegExp, 'g');
|
||||||
if (!regExp_g.test(o.val)) {
|
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) {
|
delFile(event) {
|
||||||
const file = event.target.files[0];
|
const file = event.target.files[0];
|
||||||
@@ -272,6 +274,7 @@ export default {
|
|||||||
// uploadFile
|
// uploadFile
|
||||||
},
|
},
|
||||||
async saveExcel() {
|
async saveExcel() {
|
||||||
|
this.row = {}
|
||||||
//
|
//
|
||||||
this.row.adminId = this.adminId;
|
this.row.adminId = this.adminId;
|
||||||
this.row.list = this.nData;
|
this.row.list = this.nData;
|
||||||
@@ -286,31 +289,41 @@ export default {
|
|||||||
this.successCnt = result.data.successCnt;
|
this.successCnt = result.data.successCnt;
|
||||||
this.failCnt = result.data.failCnt;
|
this.failCnt = result.data.failCnt;
|
||||||
|
|
||||||
if(result.data.failCnt > 0){
|
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오류건은 확인 후 재등록 부탁 드립니다.';
|
// var resultMsg = '파일 업로드 중 오류가 발생하여 정상건만 업로드 완료하였습니다.\n\n 총 '+result.data.totalCnt+'건, 정상 '+ result.data.successCnt+'건, 오류 '+result.data.failCnt+'건\n\n오류건은 확인 후 재등록 부탁 드립니다.';
|
||||||
alert(resultMsg);
|
// alert(resultMsg);
|
||||||
this.excelPopClose();
|
// this.excelPopClose();
|
||||||
this.$parent.memberDetail(this.adminId);
|
// this.$parent.memberDetail(this.adminId);
|
||||||
}else{
|
} else {
|
||||||
|
|
||||||
this.toComplete();
|
this.toComplete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
// 팝업으로 교체 예정
|
// 팝업으로 교체 예정
|
||||||
var title ='청약고객 관리\n';
|
var title = '청약고객 관리\n';
|
||||||
var msg1 = '실패 하였습니다.';
|
var msg1 = '실패 하였습니다.';
|
||||||
alert(title + msg1);
|
alert(title + msg1);
|
||||||
|
|
||||||
// this.row.title = '청약고객관리';
|
// this.row.title = '청약고객관리';
|
||||||
// this.row.msg1 = '실패 하였습니다.';
|
// this.row.msg1 = '실패 하였습니다.';
|
||||||
// this.$refs.commmonModal.alertModalOpen(this.row);
|
// this.$refs.validationConfirmPop.failFileuploadOpen(this.row);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 오류건수.
|
// 오류건수.
|
||||||
console.log(this.oData.length);
|
console.log(this.oData.length);
|
||||||
},
|
},
|
||||||
|
failFileuploadOk(result) {
|
||||||
|
console.log(result)
|
||||||
|
if (result) {
|
||||||
|
this.excelPopClose();
|
||||||
|
this.$parent.memberDetail(this.adminId);
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@@ -27,15 +27,18 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>이름</th>
|
<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>
|
||||||
<tr>
|
<tr>
|
||||||
<th>휴대폰번호</th>
|
<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>
|
||||||
<tr>
|
<tr>
|
||||||
<th>이메일</th>
|
<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>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="center">상태</th>
|
<th class="center">상태</th>
|
||||||
@@ -182,6 +185,11 @@ export default {
|
|||||||
for(var i = 0; i < dimmed.length; i++){
|
for(var i = 0; i < dimmed.length; i++){
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
this.formReset();
|
||||||
|
},
|
||||||
|
formReset() {
|
||||||
|
this.userPwd1 = '';
|
||||||
|
this.userPwd2 = '';
|
||||||
},
|
},
|
||||||
toComplete(){
|
toComplete(){
|
||||||
this.row.serviceId = this.adminId;
|
this.row.serviceId = this.adminId;
|
||||||
|
|||||||
@@ -10,23 +10,27 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th>관리자 ID</th>
|
<th>관리자 ID</th>
|
||||||
<td>{{adminId}}</td>
|
<td>{{ adminId }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>ID</th>
|
<th>ID</th>
|
||||||
<td><input type="text" v-model.trim="userId" ref="_userId"></td>
|
<td><input type="text" v-model.trim="userId" ref="_userId" @keypress="onlyId" @input="onlyId" minlength="6"
|
||||||
|
maxlength="16"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>이름</th>
|
<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>
|
||||||
<tr>
|
<tr>
|
||||||
<th>휴대폰번호</th>
|
<th>휴대폰번호</th>
|
||||||
<td><input type="text" placeholder="- 자 제외 숫자만 입력" 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>
|
||||||
<tr>
|
<tr>
|
||||||
<th>이메일</th>
|
<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>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="center">ID 잠금</th>
|
<th class="center">ID 잠금</th>
|
||||||
@@ -45,7 +49,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<validation-confirm-pop ref="validationConfirmPopModal"> </validation-confirm-pop>
|
<validation-confirm-pop ref="validationConfirmPopModal"></validation-confirm-pop>
|
||||||
<common-modal ref="commmonModal"></common-modal>
|
<common-modal ref="commmonModal"></common-modal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -53,7 +57,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import api from '@/service/api';
|
import api from '@/service/api';
|
||||||
import custMgtApi from "../service/custMgtApi.js";
|
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 ValidationConfirmPop from '../components/ValidationConfirmPop.vue';
|
||||||
import lodash from "lodash";
|
import lodash from "lodash";
|
||||||
import commonModal from "../components/commonModal";
|
import commonModal from "../components/commonModal";
|
||||||
@@ -61,8 +65,8 @@ import commonModal from "../components/commonModal";
|
|||||||
export default {
|
export default {
|
||||||
name: "memberRegPop",
|
name: "memberRegPop",
|
||||||
mixins: [utils_mixin, chkPattern2],
|
mixins: [utils_mixin, chkPattern2],
|
||||||
watch:{
|
watch: {
|
||||||
stat(){
|
stat() {
|
||||||
console.log('watch : ', this.stat)
|
console.log('watch : ', this.stat)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -75,47 +79,47 @@ export default {
|
|||||||
//event: 'event-data'
|
//event: 'event-data'
|
||||||
},
|
},
|
||||||
//props: ['sendData'],
|
//props: ['sendData'],
|
||||||
created(){
|
created() {
|
||||||
// this.setAuthData();
|
// this.setAuthData();
|
||||||
this.formReset();
|
this.formReset();
|
||||||
},
|
},
|
||||||
data(){
|
data() {
|
||||||
return{
|
return {
|
||||||
row:{},
|
row: {},
|
||||||
madangId:'',
|
madangId: '',
|
||||||
adminId:'',
|
adminId: '',
|
||||||
name:'',
|
name: '',
|
||||||
mdn:'',
|
mdn: '',
|
||||||
email:'',
|
email: '',
|
||||||
auth:'',
|
auth: '',
|
||||||
stat: "01",
|
stat: "01",
|
||||||
userId:"",
|
userId: "",
|
||||||
userNm:"",
|
userNm: "",
|
||||||
code:"",
|
code: "",
|
||||||
userTotalCnt:0,
|
userTotalCnt: 0,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods :{
|
methods: {
|
||||||
//사용자ID 생성 모달 Open
|
//사용자ID 생성 모달 Open
|
||||||
async memberInsertModalOpen(props){
|
async memberInsertModalOpen(props) {
|
||||||
this.adminId = props.adminId;
|
this.adminId = props.adminId;
|
||||||
this.userTotalCnt = props.userTotalCnt;
|
this.userTotalCnt = props.userTotalCnt;
|
||||||
|
|
||||||
// 모달 오픈
|
// 모달 오픈
|
||||||
var dimmed = document.getElementsByClassName('memberInsert');
|
var dimmed = document.getElementsByClassName('memberInsert');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//사용자ID 생성 Confirm
|
//사용자ID 생성 Confirm
|
||||||
memberInsertConfirm(){
|
memberInsertConfirm() {
|
||||||
// confirm 팝업 노출
|
// confirm 팝업 노출
|
||||||
if(this.doValidate()){
|
if (this.doValidate()) {
|
||||||
this.$refs.validationConfirmPopModal.confirmInsertOpen();
|
this.$refs.validationConfirmPopModal.confirmInsertOpen();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//사용자ID 수정 처리
|
//사용자ID 수정 처리
|
||||||
async memberInsert(){
|
async memberInsert() {
|
||||||
this.row.adminId = this.adminId;
|
this.row.adminId = this.adminId;
|
||||||
this.row.userId = this.userId;
|
this.row.userId = this.userId;
|
||||||
this.row.userNm = this.userNm;
|
this.row.userNm = this.userNm;
|
||||||
@@ -131,7 +135,7 @@ export default {
|
|||||||
this.row.msg1 = '사용자 생성 완료하였습니다.';
|
this.row.msg1 = '사용자 생성 완료하였습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
this.toComplete();
|
this.toComplete();
|
||||||
} else if(result != null && result.retCode == "4018"){
|
} else if (result != null && result.retCode == "4018") {
|
||||||
// 이미 사용중인 ID
|
// 이미 사용중인 ID
|
||||||
this.$refs.validationConfirmPopModal.validationIdDuplicateOpen();
|
this.$refs.validationConfirmPopModal.validationIdDuplicateOpen();
|
||||||
} else {
|
} else {
|
||||||
@@ -139,21 +143,21 @@ export default {
|
|||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
}
|
}
|
||||||
} catch(err) {
|
} catch (err) {
|
||||||
this.row.title = '청약고객관리';
|
this.row.title = '청약고객관리';
|
||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//사용자ID 생성 모달 Close
|
//사용자ID 생성 모달 Close
|
||||||
memberInsertModalClose(){
|
memberInsertModalClose() {
|
||||||
var dimmed = document.getElementsByClassName('memberInsert');
|
var dimmed = document.getElementsByClassName('memberInsert');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
this.formReset();
|
this.formReset();
|
||||||
},
|
},
|
||||||
toComplete(){
|
toComplete() {
|
||||||
this.row.serviceId = this.adminId;
|
this.row.serviceId = this.adminId;
|
||||||
this.memberInsertModalClose();
|
this.memberInsertModalClose();
|
||||||
this.$parent.memberDetail(this.adminId);
|
this.$parent.memberDetail(this.adminId);
|
||||||
@@ -164,20 +168,20 @@ export default {
|
|||||||
this.authType = response.data.data.list;
|
this.authType = response.data.data.list;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
formReset(){
|
formReset() {
|
||||||
var targetAdminId = this.adminId;
|
var targetAdminId = this.adminId;
|
||||||
Object.assign(this.$data, this.$options.data());
|
Object.assign(this.$data, this.$options.data());
|
||||||
this.adminId = targetAdminId;
|
this.adminId = targetAdminId;
|
||||||
},
|
},
|
||||||
doValidate(){
|
doValidate() {
|
||||||
console.log(this.userTotalCnt)
|
console.log(this.userTotalCnt)
|
||||||
if(this.userTotalCnt >= 100){
|
if (this.userTotalCnt >= 100) {
|
||||||
// 사용자등록제한_최대100개까지
|
// 사용자등록제한_최대100개까지
|
||||||
this.$refs.validationConfirmPopModal.validationMaxlimitOpen();
|
this.$refs.validationConfirmPopModal.validationMaxlimitOpen();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.isNull(this.userId)){
|
if (this.isNull(this.userId)) {
|
||||||
this.$refs._userId.focus();
|
this.$refs._userId.focus();
|
||||||
this.row.title = '청약고객관리';
|
this.row.title = '청약고객관리';
|
||||||
this.row.msg1 = 'ID를 입력해 주세요.';
|
this.row.msg1 = 'ID를 입력해 주세요.';
|
||||||
@@ -185,8 +189,18 @@ export default {
|
|||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
return false;
|
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)){
|
if (this.isNull(this.userNm)) {
|
||||||
this.row.title = '청약고객관리';
|
this.row.title = '청약고객관리';
|
||||||
this.row.msg1 = '이름을 입력해 주세요.';
|
this.row.msg1 = '이름을 입력해 주세요.';
|
||||||
this.row.focusTaget = '2';
|
this.row.focusTaget = '2';
|
||||||
@@ -194,7 +208,7 @@ export default {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.isNull(this.mdn)){
|
if (this.isNull(this.mdn)) {
|
||||||
this.row.title = '청약고객관리';
|
this.row.title = '청약고객관리';
|
||||||
this.row.msg1 = '휴대폰번호를 입력해주세요.';
|
this.row.msg1 = '휴대폰번호를 입력해주세요.';
|
||||||
this.row.focusTaget = '3';
|
this.row.focusTaget = '3';
|
||||||
@@ -202,13 +216,18 @@ export default {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const hp = this.mdn;
|
const hp = this.mdn;
|
||||||
if(!this.isNull(hp) && !this.isMobile(hp)){
|
if (!this.isNull(hp) && !this.isMobile(hp)) {
|
||||||
this.row.focusTaget = '3';
|
this.row.focusTaget = '3';
|
||||||
this.$refs.validationConfirmPopModal.validationPhonenumberOpen();
|
//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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.isNull(this.email)){
|
if (this.isNull(this.email)) {
|
||||||
this.row.title = '청약고객관리';
|
this.row.title = '청약고객관리';
|
||||||
this.row.msg1 = '이메일을 입력해주세요.';
|
this.row.msg1 = '이메일을 입력해주세요.';
|
||||||
this.row.focusTaget = '4';
|
this.row.focusTaget = '4';
|
||||||
@@ -216,12 +235,17 @@ export default {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const email = this.email;
|
const email = this.email;
|
||||||
if(!this.isNull(email) && !lodash.isEqual(email,'@') && !this.emailCheck(email)){
|
if (!this.isNull(email) && !lodash.isEqual(email, '@') && !this.emailCheck(email)) {
|
||||||
this.$refs.validationConfirmPopModal.validationEmailOpen();
|
// 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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.isNull(this.stat)){
|
if (this.isNull(this.stat)) {
|
||||||
this.row.title = '청약고객관리';
|
this.row.title = '청약고객관리';
|
||||||
this.row.msg1 = '상태를 선택 해주세요.';
|
this.row.msg1 = '상태를 선택 해주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
@@ -230,24 +254,24 @@ export default {
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
checkFocus(){
|
checkFocus() {
|
||||||
if(this.row.focusTaget === '1'){
|
if (this.row.focusTaget === '1') {
|
||||||
this.$refs._userId.focus();
|
this.$refs._userId.focus();
|
||||||
} else if(this.row.focusTaget === '2'){
|
} else if (this.row.focusTaget === '2') {
|
||||||
this.$refs._userNm.focus();
|
this.$refs._userNm.focus();
|
||||||
} else if(this.row.focusTaget === '3'){
|
} else if (this.row.focusTaget === '3') {
|
||||||
this.$refs._phone.focus();
|
this.$refs._phone.focus();
|
||||||
} else if(this.row.focusTaget === '4'){
|
} else if (this.row.focusTaget === '4') {
|
||||||
this.$refs._email.focus();
|
this.$refs._email.focus();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
checkPhoneFocus(){
|
checkPhoneFocus() {
|
||||||
this.$refs._phone.focus();
|
this.$refs._phone.focus();
|
||||||
},
|
},
|
||||||
checkEmailFocus(){
|
checkEmailFocus() {
|
||||||
this.$refs._email.focus();
|
this.$refs._email.focus();
|
||||||
},
|
},
|
||||||
checkIdDupFocus(){
|
checkIdDupFocus() {
|
||||||
this.$refs._userId.focus();
|
this.$refs._userId.focus();
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,8 +7,9 @@
|
|||||||
<div class="popup memoTotal popup_form b-popup">
|
<div class="popup memoTotal popup_form b-popup">
|
||||||
<div class="pop-head">
|
<div class="pop-head">
|
||||||
<h3 class="pop-tit">전체 메모보기</h3>
|
<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>
|
||||||
|
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건</div>
|
||||||
<table class="table-c">
|
<table class="table-c">
|
||||||
<custom-grid
|
<custom-grid
|
||||||
ref="table"
|
ref="table"
|
||||||
|
|||||||
@@ -41,7 +41,6 @@
|
|||||||
|
|
||||||
<!-- 시스템관리 팝업 끝-->
|
<!-- 시스템관리 팝업 끝-->
|
||||||
<!-- e: 팝업 -->
|
<!-- e: 팝업 -->
|
||||||
</div>
|
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<!-- <div class="wrap bg-wrap"> -->
|
<!-- <div class="wrap bg-wrap"> -->
|
||||||
<div>
|
<div>
|
||||||
<div class="dimmed" @click="ModalClose();"></div>
|
<div class="dimmed modal29" @click="ModalClose();"></div>
|
||||||
<div class="popup-wrap">
|
<div class="popup-wrap modal29">
|
||||||
<!-- 테스트 ID 생성 -->
|
<!-- 테스트 ID 생성 -->
|
||||||
<div class="popup modal29 popup_form">
|
<div class="popup modal29 popup_form">
|
||||||
<div class="pop-head">
|
<div class="pop-head">
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th>ID</th>
|
<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>
|
||||||
<tr>
|
<tr>
|
||||||
<th>비밀번호</th>
|
<th>비밀번호</th>
|
||||||
@@ -25,15 +25,15 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>이름</th>
|
<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>
|
||||||
<tr>
|
<tr>
|
||||||
<th>휴대폰번호</th>
|
<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>
|
||||||
<tr>
|
<tr>
|
||||||
<th>이메일</th>
|
<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>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="center">상태</th>
|
<th class="center">상태</th>
|
||||||
@@ -150,6 +150,17 @@ export default {
|
|||||||
this.$refs._userId.focus();
|
this.$refs._userId.focus();
|
||||||
return false;
|
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()){
|
if(!this.doPwdValidate()){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -206,24 +217,19 @@ export default {
|
|||||||
},
|
},
|
||||||
// 모달 띄우기
|
// 모달 띄우기
|
||||||
ModalOpen(){
|
ModalOpen(){
|
||||||
var dimmed = document.getElementsByClassName('dimmed');
|
// 모달 오픈
|
||||||
dimmed[0].style.display = 'block';
|
var dimmed = document.getElementsByClassName('modal29');
|
||||||
var wrap = document.getElementsByClassName('popup-wrap');
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
wrap[0].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
var obj = document.getElementsByClassName('modal29');
|
}
|
||||||
obj[0].style.display = 'block';
|
|
||||||
this.formReset();
|
this.formReset();
|
||||||
},
|
},
|
||||||
// 모달 끄기
|
// 모달 끄기
|
||||||
ModalClose(){
|
ModalClose(){
|
||||||
//this.formReset();
|
var dimmed = document.getElementsByClassName('modal29');
|
||||||
var dimmed = document.getElementsByClassName('dimmed');
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[0].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
var wrap = document.getElementsByClassName('popup-wrap');
|
}
|
||||||
wrap[0].style.display = 'none';
|
|
||||||
var popup = document.getElementsByClassName('modal29');
|
|
||||||
popup[0].style.display = 'none';
|
|
||||||
|
|
||||||
},
|
},
|
||||||
// 저장 후 부모창 호출.
|
// 저장 후 부모창 호출.
|
||||||
toComplete(){
|
toComplete(){
|
||||||
@@ -238,10 +244,11 @@ export default {
|
|||||||
const response = await custMgtApi.insertTestId(this.row);
|
const response = await custMgtApi.insertTestId(this.row);
|
||||||
const result = response.data;
|
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.toComplete();
|
this.toComplete();
|
||||||
|
}else if(result != null && result.retCode == "1009"){
|
||||||
|
this.row.title = '청약고객관리';
|
||||||
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
}
|
}
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
this.row.title = '청약고객관리';
|
this.row.title = '청약고객관리';
|
||||||
|
|||||||
@@ -6,10 +6,10 @@
|
|||||||
<!-- 수정 확인 -->
|
<!-- 수정 확인 -->
|
||||||
<div class="popup confirm">
|
<div class="popup confirm">
|
||||||
<div class="pop-head">
|
<div class="pop-head">
|
||||||
<h3 class="pop-tit">{{title}}</h3>
|
<h3 class="pop-tit">{{ title }}</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="pop-cont">
|
<div class="pop-cont">
|
||||||
<p>{{msg}}</p>
|
<p>{{ msg }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="pop-btn2">
|
<div class="pop-btn2">
|
||||||
<button class="btn-pcolor" @click="confirmModalClose();">확인</button>
|
<button class="btn-pcolor" @click="confirmModalClose();">확인</button>
|
||||||
@@ -165,12 +165,37 @@
|
|||||||
<div class="pop-cont">
|
<div class="pop-cont">
|
||||||
<p>정상 업로드 되었습니다.</p>
|
<p>정상 업로드 되었습니다.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="pop-btn1">
|
<div class="popup-btn1">
|
||||||
<button class="btn-pcolor" @click="successFileuploadClose();">확인</button>
|
<button class="btn-pcolor" @click="successFileuploadClose();">확인</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</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>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -179,253 +204,241 @@
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "validationConfirmPop",
|
name: "validationConfirmPop",
|
||||||
data(){
|
data() {
|
||||||
return{
|
return {
|
||||||
row:{},
|
row: {},
|
||||||
title:'',
|
title: '',
|
||||||
msg: '',
|
msg: '',
|
||||||
|
failCnt: 0,
|
||||||
|
successCnt: 0,
|
||||||
|
totalCnt: 0,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods :{
|
methods: {
|
||||||
//사용자등록 - 최초등록 Open
|
//사용자등록 - 최초등록 Open
|
||||||
confirmInsertOpen(){
|
confirmInsertOpen() {
|
||||||
var dimmed = document.getElementsByClassName('confirm-insert');
|
var dimmed = document.getElementsByClassName('confirm-insert');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
//사용자등록 - 최초등록
|
//사용자등록 - 최초등록
|
||||||
confirmInsert(){
|
confirmInsert() {
|
||||||
var dimmed = document.getElementsByClassName('confirm-insert');
|
var dimmed = document.getElementsByClassName('confirm-insert');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$parent.memberInsert();
|
this.$parent.memberInsert();
|
||||||
|
|
||||||
},
|
},
|
||||||
//사용자등록 - 최초등록 Close
|
//사용자등록 - 최초등록 Close
|
||||||
confirmInsertClose(){
|
confirmInsertClose() {
|
||||||
var dimmed = document.getElementsByClassName('confirm-insert');
|
var dimmed = document.getElementsByClassName('confirm-insert');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
// 사용자 삭제 Open
|
// 사용자 삭제 Open
|
||||||
confirmDeleteOpen(){
|
confirmDeleteOpen() {
|
||||||
var dimmed = document.getElementsByClassName('confirm-delete');
|
var dimmed = document.getElementsByClassName('confirm-delete');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
//사용자 삭제
|
//사용자 삭제
|
||||||
confirmDelete(){
|
confirmDelete() {
|
||||||
var dimmed = document.getElementsByClassName('confirm-delete');
|
var dimmed = document.getElementsByClassName('confirm-delete');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
//사용자 삭제 Close
|
//사용자 삭제 Close
|
||||||
confirmDeleteClose(){
|
confirmDeleteClose() {
|
||||||
var dimmed = document.getElementsByClassName('confirm-delete');
|
var dimmed = document.getElementsByClassName('confirm-delete');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
//사용자 수정 확인 Open
|
//사용자 수정 확인 Open
|
||||||
confirmUpdateOpen(){
|
confirmUpdateOpen() {
|
||||||
var dimmed = document.getElementsByClassName('confirm-update');
|
var dimmed = document.getElementsByClassName('confirm-update');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
//사용자 수정 확인
|
//사용자 수정 확인
|
||||||
confirmUpdate(){
|
confirmUpdate() {
|
||||||
var dimmed = document.getElementsByClassName('confirm-update');
|
var dimmed = document.getElementsByClassName('confirm-update');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$parent.memberUpdate();
|
this.$parent.memberUpdate();
|
||||||
|
|
||||||
},
|
},
|
||||||
// 사용자 수정 Close
|
// 사용자 수정 Close
|
||||||
confirmUpdateClose(){
|
confirmUpdateClose() {
|
||||||
var dimmed = document.getElementsByClassName('confirm-update');
|
var dimmed = document.getElementsByClassName('confirm-update');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
//사용자 수정(청약고객-sub) 확인 Open
|
//사용자 수정(청약고객-sub) 확인 Open
|
||||||
confirmUpdateSubOpen(){
|
confirmUpdateSubOpen() {
|
||||||
var dimmed = document.getElementsByClassName('confirm-update-sub');
|
var dimmed = document.getElementsByClassName('confirm-update-sub');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
//사용자 수정(청약고객-sub) 확인
|
//사용자 수정(청약고객-sub) 확인
|
||||||
confirmUpdateSub(){
|
confirmUpdateSub() {
|
||||||
var dimmed = document.getElementsByClassName('confirm-update-sub');
|
var dimmed = document.getElementsByClassName('confirm-update-sub');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$parent.updateAdminInfo();
|
this.$parent.updateAdminInfo();
|
||||||
|
|
||||||
},
|
},
|
||||||
// 사용자 수정(청약고객-sub) Close
|
// 사용자 수정(청약고객-sub) Close
|
||||||
confirmUpdateSubClose(){
|
confirmUpdateSubClose() {
|
||||||
var dimmed = document.getElementsByClassName('confirm-update-sub');
|
var dimmed = document.getElementsByClassName('confirm-update-sub');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
// 이메일 형식 체크 Open
|
// 이메일 형식 체크 Open
|
||||||
validationEmailOpen(){
|
validationEmailOpen() {
|
||||||
var dimmed = document.getElementsByClassName('validation-email');
|
var dimmed = document.getElementsByClassName('validation-email');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
// 이메일 형식 체크 Close
|
// 이메일 형식 체크 Close
|
||||||
validationEmailClose(){
|
validationEmailClose() {
|
||||||
var dimmed = document.getElementsByClassName('validation-email');
|
var dimmed = document.getElementsByClassName('validation-email');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$parent.checkEmailFocus();
|
this.$parent.checkEmailFocus();
|
||||||
|
|
||||||
},
|
},
|
||||||
// 아이디 중복 체크 Open
|
// 아이디 중복 체크 Open
|
||||||
validationIdDuplicateOpen(){
|
validationIdDuplicateOpen() {
|
||||||
var dimmed = document.getElementsByClassName('validation-id-duplicate');
|
var dimmed = document.getElementsByClassName('validation-id-duplicate');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
// 아이디 중복 체크 Close
|
// 아이디 중복 체크 Close
|
||||||
validationIdDuplicateClose(){
|
validationIdDuplicateClose() {
|
||||||
var dimmed = document.getElementsByClassName('validation-id-duplicate');
|
var dimmed = document.getElementsByClassName('validation-id-duplicate');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$parent.checkIdDupFocus();
|
this.$parent.checkIdDupFocus();
|
||||||
|
|
||||||
},
|
},
|
||||||
// 최대 등록 제한 Open
|
// 최대 등록 제한 Open
|
||||||
validationMaxlimitOpen(){
|
validationMaxlimitOpen() {
|
||||||
console.log("1231232323")
|
|
||||||
var dimmed = document.getElementsByClassName('validation-maxlimit');
|
var dimmed = document.getElementsByClassName('validation-maxlimit');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 최대 등록 제한 Close
|
// 최대 등록 제한 Close
|
||||||
validationMaxlimitClose(){
|
validationMaxlimitClose() {
|
||||||
var dimmed = document.getElementsByClassName('validation-maxlimit');
|
var dimmed = document.getElementsByClassName('validation-maxlimit');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
// this.$parent.toComplete();
|
|
||||||
|
|
||||||
},
|
},
|
||||||
// 휴대폰번호 형식 체크 Open
|
// 휴대폰번호 형식 체크 Open
|
||||||
validationPhonenumberOpen(){
|
validationPhonenumberOpen() {
|
||||||
var dimmed = document.getElementsByClassName('valication-phonenumber');
|
var dimmed = document.getElementsByClassName('valication-phonenumber');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
// 휴대폰번호 형식 체크 Close
|
// 휴대폰번호 형식 체크 Close
|
||||||
validationPhonenumberClose(){
|
validationPhonenumberClose() {
|
||||||
var dimmed = document.getElementsByClassName('valication-phonenumber');
|
var dimmed = document.getElementsByClassName('valication-phonenumber');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
this.$parent.checkPhoneFocus();
|
this.$parent.checkPhoneFocus();
|
||||||
|
|
||||||
},
|
},
|
||||||
// 사용자 ID 생성 파일 업로드 - 성공 Open
|
// 사용자 ID 생성 파일 업로드 - 성공 Open
|
||||||
successFileuploadOpen(){
|
successFileuploadOpen() {
|
||||||
var dimmed = document.getElementsByClassName('success-fileupload');
|
var dimmed = document.getElementsByClassName('success-fileupload');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
// 사용자 ID 생성 파일 업로드 - 성공 Close
|
// 사용자 ID 생성 파일 업로드 - 성공 Close
|
||||||
successFileuploadClose(){
|
successFileuploadClose() {
|
||||||
var dimmed = document.getElementsByClassName('success-fileupload');
|
var dimmed = document.getElementsByClassName('success-fileupload');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
// 목록페이지 이동
|
// 목록페이지 이동
|
||||||
this.toComplete();
|
this.toComplete();
|
||||||
|
|
||||||
},
|
},
|
||||||
// 정상완료 후 목록페이지 이동
|
// 정상완료 후 목록페이지 이동
|
||||||
toComplete(){
|
toComplete() {
|
||||||
this.row.searchType1 = '';
|
this.row.searchType1 = '';
|
||||||
this.row.searchType2= '';
|
this.row.searchType2 = '';
|
||||||
this.row.searchType3= '';
|
this.row.searchType3 = '';
|
||||||
this.row.searchText1= '';
|
this.row.searchText1 = '';
|
||||||
this.row.startDt= '';
|
this.row.startDt = '';
|
||||||
this.row.endDt= '';
|
this.row.endDt = '';
|
||||||
this.row.page = 1;
|
this.row.page = 1;
|
||||||
|
this.$router.push({name: 'subsList', params: this.row});
|
||||||
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';
|
||||||
confirmModalOpen(props){
|
}
|
||||||
var dimmed = document.getElementsByClassName('confirm');
|
this.totalCnt = props.totalCnt
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
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';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
// var modal41 = document.getElementsByClassName('modal41');
|
|
||||||
// modal41[0].style.display = 'block';
|
|
||||||
|
|
||||||
this.title = props.title;
|
this.title = props.title;
|
||||||
this.msg = props.msg;
|
this.msg = props.msg;
|
||||||
},
|
},
|
||||||
// 모달 끄기(ok)
|
// 모달 끄기(ok)
|
||||||
confirmModalClose(){
|
confirmModalClose() {
|
||||||
var dimmed = document.getElementsByClassName('confirm');
|
var dimmed = document.getElementsByClassName('confirm');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
this.row.result = true;
|
this.row.result = true;
|
||||||
// 부모 함수 호출.
|
// 부모 함수 호출.
|
||||||
this.$parent.confirmCalbackFnc(this.row);
|
this.$parent.confirmCalbackFnc(this.row);
|
||||||
},
|
},
|
||||||
// 모달 끄기(취소)
|
// 모달 끄기(취소)
|
||||||
confirmModalCancel(){
|
confirmModalCancel() {
|
||||||
var dimmed = document.getElementsByClassName('confirm');
|
var dimmed = document.getElementsByClassName('confirm');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
this.row.result = false;
|
this.row.result = false;
|
||||||
// 부모 함수 호출.
|
// 부모 함수 호출.
|
||||||
this.$parent.confirmCalbackFnc(this.row);
|
this.$parent.confirmCalbackFnc(this.row);
|
||||||
@@ -433,9 +446,3 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</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> -->
|
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
<!-- 로그인실패: 확인 -->
|
<!-- 로그인실패: 확인 -->
|
||||||
<div class="popup alertModal">
|
<div class="popup alertModal">
|
||||||
<div class="pop-head">
|
<div class="pop-head">
|
||||||
<h3 class="pop-tit">{{title}}</h3>
|
<h3 class="pop-tit">{{ title }}</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="pop-cont">
|
<div class="pop-cont">
|
||||||
<p>{{ msg1 }}</p>
|
<p>{{ msg1 }}</p>
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
<!-- 수정 확인 -->
|
<!-- 수정 확인 -->
|
||||||
<div class="popup confirm">
|
<div class="popup confirm">
|
||||||
<div class="pop-head">
|
<div class="pop-head">
|
||||||
<h3 class="pop-tit">{{title}}</h3>
|
<h3 class="pop-tit">{{ title }}</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="pop-cont">
|
<div class="pop-cont">
|
||||||
<p>{{ msg1 }}</p>
|
<p>{{ msg1 }}</p>
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
<!-- 수정 확인 -->
|
<!-- 수정 확인 -->
|
||||||
<div class="popup confirm2">
|
<div class="popup confirm2">
|
||||||
<div class="pop-head">
|
<div class="pop-head">
|
||||||
<h3 class="popup-tit">{{title}}</h3>
|
<h3 class="popup-tit">{{ title }}</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="pop-cont">
|
<div class="pop-cont">
|
||||||
<p>{{ msg1 }}</p>
|
<p>{{ msg1 }}</p>
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
<!-- 수정 확인 -->
|
<!-- 수정 확인 -->
|
||||||
<div class="popup confirmMemo">
|
<div class="popup confirmMemo">
|
||||||
<div class="pop-head">
|
<div class="pop-head">
|
||||||
<h3 class="popup-tit">{{title}}</h3>
|
<h3 class="popup-tit">{{ title }}</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="pop-cont">
|
<div class="pop-cont">
|
||||||
<p>{{ msg1 }}</p>
|
<p>{{ msg1 }}</p>
|
||||||
@@ -88,10 +88,10 @@
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "confirm",
|
name: "confirm",
|
||||||
data(){
|
data() {
|
||||||
return{
|
return {
|
||||||
row:{},
|
row: {},
|
||||||
title:'',
|
title: '',
|
||||||
msg1: '',
|
msg1: '',
|
||||||
msg2: '',
|
msg2: '',
|
||||||
msg3: '',
|
msg3: '',
|
||||||
@@ -99,8 +99,8 @@ export default {
|
|||||||
targetFocus: '',
|
targetFocus: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods :{
|
methods: {
|
||||||
alertModalOpen(props){
|
alertModalOpen(props) {
|
||||||
console.log(props.msg1);
|
console.log(props.msg1);
|
||||||
this.title = props.title;
|
this.title = props.title;
|
||||||
this.msg1 = props.msg1;
|
this.msg1 = props.msg1;
|
||||||
@@ -109,30 +109,30 @@ export default {
|
|||||||
this.msg4 = props.msg4;
|
this.msg4 = props.msg4;
|
||||||
console.log(props)
|
console.log(props)
|
||||||
var dimmed = document.getElementsByClassName('alertModal');
|
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';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
alertModalClose(){
|
alertModalClose() {
|
||||||
var dimmed = document.getElementsByClassName('alertModal');
|
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';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
this.$parent.checkFocus();
|
this.$parent.checkFocus();
|
||||||
},
|
},
|
||||||
alertModalCancel(){
|
alertModalCancel() {
|
||||||
var dimmed = document.getElementsByClassName('alertModal');
|
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';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
this.$parent.checkFocus();
|
this.$parent.checkFocus();
|
||||||
},
|
},
|
||||||
// 모달 오픈
|
// 모달 오픈
|
||||||
confirmModalOpen(props){
|
confirmModalOpen(props) {
|
||||||
console.log(props)
|
console.log(props)
|
||||||
var dimmed = document.getElementsByClassName('confirm');
|
var dimmed = document.getElementsByClassName('confirm');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -142,9 +142,9 @@ export default {
|
|||||||
this.msg3 = props.msg3;
|
this.msg3 = props.msg3;
|
||||||
this.msg4 = props.msg4;
|
this.msg4 = props.msg4;
|
||||||
},
|
},
|
||||||
confirmModalOpen2(props){
|
confirmModalOpen2(props) {
|
||||||
var dimmed = document.getElementsByClassName('confirm2');
|
var dimmed = document.getElementsByClassName('confirm2');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -154,9 +154,9 @@ export default {
|
|||||||
this.msg3 = props.msg3;
|
this.msg3 = props.msg3;
|
||||||
this.msg4 = props.msg4;
|
this.msg4 = props.msg4;
|
||||||
},
|
},
|
||||||
confirmModalOpenMemo(props){
|
confirmModalOpenMemo(props) {
|
||||||
var dimmed = document.getElementsByClassName('confirmMemo');
|
var dimmed = document.getElementsByClassName('confirmMemo');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -167,9 +167,9 @@ export default {
|
|||||||
this.msg4 = props.msg4;
|
this.msg4 = props.msg4;
|
||||||
},
|
},
|
||||||
// 모달 끄기(ok)
|
// 모달 끄기(ok)
|
||||||
confirmModalClose(){
|
confirmModalClose() {
|
||||||
var dimmed = document.getElementsByClassName('confirm');
|
var dimmed = document.getElementsByClassName('confirm');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -178,9 +178,9 @@ export default {
|
|||||||
this.$parent.confirmCalbackFnc(this.row);
|
this.$parent.confirmCalbackFnc(this.row);
|
||||||
},
|
},
|
||||||
// 모달 끄기(ok)
|
// 모달 끄기(ok)
|
||||||
confirmModalClose2(){
|
confirmModalClose2() {
|
||||||
var dimmed = document.getElementsByClassName('confirm2');
|
var dimmed = document.getElementsByClassName('confirm2');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -189,9 +189,9 @@ export default {
|
|||||||
this.$parent.confirmCalbackFnc(this.row);
|
this.$parent.confirmCalbackFnc(this.row);
|
||||||
},
|
},
|
||||||
// 모달 끄기(ok)
|
// 모달 끄기(ok)
|
||||||
confirmModalCloseMemo(){
|
confirmModalCloseMemo() {
|
||||||
var dimmed = document.getElementsByClassName('confirmMemo');
|
var dimmed = document.getElementsByClassName('confirmMemo');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -200,9 +200,9 @@ export default {
|
|||||||
this.$parent.confirmCalbackFnc(this.row);
|
this.$parent.confirmCalbackFnc(this.row);
|
||||||
},
|
},
|
||||||
// 모달 끄기(취소)
|
// 모달 끄기(취소)
|
||||||
confirmModalCancel(){
|
confirmModalCancel() {
|
||||||
var dimmed = document.getElementsByClassName('confirm');
|
var dimmed = document.getElementsByClassName('confirm');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -211,9 +211,9 @@ export default {
|
|||||||
this.$parent.confirmCalbackFnc(this.row);
|
this.$parent.confirmCalbackFnc(this.row);
|
||||||
},
|
},
|
||||||
// 모달 끄기(취소)
|
// 모달 끄기(취소)
|
||||||
confirmModalCancel2(){
|
confirmModalCancel2() {
|
||||||
var dimmed = document.getElementsByClassName('confirm2');
|
var dimmed = document.getElementsByClassName('confirm2');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -222,9 +222,9 @@ export default {
|
|||||||
this.$parent.confirmCalbackFnc(this.row);
|
this.$parent.confirmCalbackFnc(this.row);
|
||||||
},
|
},
|
||||||
// 모달 끄기(취소)
|
// 모달 끄기(취소)
|
||||||
confirmModalCancelMemo(){
|
confirmModalCancelMemo() {
|
||||||
var dimmed = document.getElementsByClassName('confirmMemo');
|
var dimmed = document.getElementsByClassName('confirmMemo');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -236,9 +236,3 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</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> -->
|
|
||||||
@@ -45,8 +45,11 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr class="tr_input w30">
|
<tr class="tr_input w30">
|
||||||
<th>발송한도 설정</th>
|
<th>발송한도 설정</th>
|
||||||
<td colspan="2">
|
<td colspan="2" v-if="sendingLimit=='0'">
|
||||||
<input type="text" v-model="sendingLimit" ref="_sendingLimit">
|
<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>
|
</td>
|
||||||
<th class="center">라인타입</th>
|
<th class="center">라인타입</th>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
@@ -132,6 +135,7 @@
|
|||||||
<td>{{ option.userNm }}</td>
|
<td>{{ option.userNm }}</td>
|
||||||
<td>{{ option.mdn }}</td>
|
<td>{{ option.mdn }}</td>
|
||||||
<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/>
|
<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>
|
<label class="toggle_switch" for="user_id_status01"></label>
|
||||||
</td>
|
</td>
|
||||||
@@ -160,9 +164,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
<style>
|
||||||
|
.defaultCursor{
|
||||||
|
cursor : default;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<script>
|
<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 MemberBulkRegPop from '../components/MemberBulkRegPop';
|
||||||
import MemberRegPop from '../components/MemberRegPop';
|
import MemberRegPop from '../components/MemberRegPop';
|
||||||
import MemberModifyPop from '../components/MemberModifyPop';
|
import MemberModifyPop from '../components/MemberModifyPop';
|
||||||
@@ -172,6 +181,7 @@ import ValidationConfirmPop from "@/modules/custMgt/components/ValidationConfirm
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'memberAdminDetail',
|
name: 'memberAdminDetail',
|
||||||
|
mixins: [utils_mixin, chkPattern2],
|
||||||
watch:{
|
watch:{
|
||||||
stat(){
|
stat(){
|
||||||
console.log('watch : ', this.stat)
|
console.log('watch : ', this.stat)
|
||||||
@@ -201,6 +211,7 @@ export default {
|
|||||||
svcUserId:'',
|
svcUserId:'',
|
||||||
ezSvcUserAuthKey:'',
|
ezSvcUserAuthKey:'',
|
||||||
isActive:true,
|
isActive:true,
|
||||||
|
//applyTbStyle: 'cursor: default;',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@@ -274,7 +285,8 @@ export default {
|
|||||||
this.userType = result.data.userType;
|
this.userType = result.data.userType;
|
||||||
this.adminId = result.data.adminId;
|
this.adminId = result.data.adminId;
|
||||||
this.adminNm = result.data.adminNm;
|
this.adminNm = result.data.adminNm;
|
||||||
this.sendingLimit = result.data.sendingLimit.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
//this.sendingLimit = result.data.sendingLimit.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
|
this.sendingLimit = result.data.sendingLimit;
|
||||||
this.lineType = result.data.lineType;
|
this.lineType = result.data.lineType;
|
||||||
this.userStat = result.data.userStat;
|
this.userStat = result.data.userStat;
|
||||||
if(this.userStat === '02'){
|
if(this.userStat === '02'){
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="select_box id">
|
<div class="select_box id">
|
||||||
<label for="right" class="label">상태</label>
|
<label for="right" class="label">상태</label>
|
||||||
<select name="" id="" v-model="searchType1">
|
<select name="" id="" v-model="searchType1" @keyup.enter="search">
|
||||||
<option value="" selected>전체</option>
|
<option value="" selected>전체</option>
|
||||||
<option v-for="(option, i) in statType" v-bind:value="option.code" v-bind:key="i">
|
<option v-for="(option, i) in statType" v-bind:value="option.code" v-bind:key="i">
|
||||||
{{ option.codeNm }}
|
{{ option.codeNm }}
|
||||||
@@ -51,26 +51,26 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="select_box">
|
<div class="select_box">
|
||||||
<label for="right" class="label">구분</label>
|
<label for="right" class="label">구분</label>
|
||||||
<select name="" id="" v-model="searchType2">
|
<select name="" id="" v-model="searchType2" @keyup.enter="search">
|
||||||
<option value="" selected>전체</option>
|
<option value="" selected>전체</option>
|
||||||
<option value="01" >관리자</option>
|
<option value="01" selected>관리자</option>
|
||||||
<option value="02" >사용자</option>
|
<option value="02">사용자</option>
|
||||||
<option value="03" >테스트</option>
|
<option value="03">테스트</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="group">
|
<div class="group">
|
||||||
<div class="select_box">
|
<div class="select_box">
|
||||||
<label for="right" class="label">상세검색</label>
|
<label for="right" class="label">상세검색</label>
|
||||||
<select name="" id="" v-model="searchType3">
|
<select name="" id="" v-model="searchType3" @keyup.enter="search">
|
||||||
<option value="" selected>전체</option>
|
|
||||||
<option value="01" selected>ID</option>
|
<option value="01" selected>ID</option>
|
||||||
<option value="02">이름</option>
|
<option value="02">이름</option>
|
||||||
<option value="03">관리자ID</option>
|
<option value="03">관리자ID</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText1"/>
|
<input class="search-box" type="text" id="search" placeholder="검색어 입력" maxlength="100"
|
||||||
|
v-model.trim="grid.params.searchText1" @keyup.enter="search"/>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -81,7 +81,10 @@
|
|||||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||||
<div class="select_box NumberSe">
|
<div class="select_box NumberSe">
|
||||||
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
||||||
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{ option.text }}</option>
|
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{
|
||||||
|
option.text
|
||||||
|
}}
|
||||||
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -106,7 +109,7 @@
|
|||||||
></custom-grid>
|
></custom-grid>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<testId-reg-pop ref="testIdRegPop"> </testId-reg-pop>
|
<testId-reg-pop ref="testIdRegPop"></testId-reg-pop>
|
||||||
<common-modal ref="commmonModal"></common-modal>
|
<common-modal ref="commmonModal"></common-modal>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -127,7 +130,7 @@ class CustomATagRenderer {
|
|||||||
const el = document.createElement('a');
|
const el = document.createElement('a');
|
||||||
el.href = 'javascript:void(0);';
|
el.href = 'javascript:void(0);';
|
||||||
el.className = 'btn_text';
|
el.className = 'btn_text';
|
||||||
el.innerText= String(props.colValue)
|
el.innerText = String(props.colValue)
|
||||||
this.el = el;
|
this.el = el;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,7 +140,7 @@ class CustomATagRenderer {
|
|||||||
|
|
||||||
addEvent(selEl) {
|
addEvent(selEl) {
|
||||||
selEl.addEventListener("click", () => {
|
selEl.addEventListener("click", () => {
|
||||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
const {callback} = this.props["cgrido" + this.props.colName].options;
|
||||||
callback(this.props);
|
callback(this.props);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -156,17 +159,17 @@ export default {
|
|||||||
|
|
||||||
statType: [],
|
statType: [],
|
||||||
userType: [],
|
userType: [],
|
||||||
searchType1:'',
|
searchType1: '',
|
||||||
searchType2:'',
|
searchType2: '',
|
||||||
searchType3:'',
|
searchType3: '01',
|
||||||
row:{},
|
row: {},
|
||||||
|
|
||||||
// 테이블 리스트 데이터
|
// 테이블 리스트 데이터
|
||||||
perPageCnt: 50,
|
perPageCnt: 50,
|
||||||
options: [
|
options: [
|
||||||
{ text: '20', value: 20},
|
{text: '20', value: 20},
|
||||||
{ text: '50', value: 50},
|
{text: '50', value: 50},
|
||||||
{ text: '100', value: 100}
|
{text: '100', value: 100}
|
||||||
],
|
],
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
grid: {
|
grid: {
|
||||||
@@ -178,19 +181,20 @@ export default {
|
|||||||
addCls: 'box_OFvis',
|
addCls: 'box_OFvis',
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'No', align: 'center', width: 60},
|
{name: 'no', header: 'No', align: 'center', width: 60},
|
||||||
{ name: 'userNm', header: '이름', align: 'center', width: 130},
|
{name: 'userNm', header: '이름', align: 'center', width: 130},
|
||||||
{ name: 'userType', header: '구분', align: 'center', width: 130},
|
{name: 'userType', header: '구분', align: 'center', width: 130},
|
||||||
{ name: 'adminId', header: '관리자ID', align: 'center', width: 130, cls: 'td_line'},
|
{name: 'adminId', header: '관리자ID', align: 'center', width: 130, cls: 'td_line'},
|
||||||
{ name: 'userId', header: 'ID', align: 'center', width: 130, renderer: {
|
{
|
||||||
|
name: 'userId', header: 'ID', align: 'center', width: 130, renderer: {
|
||||||
type: CustomATagRenderer
|
type: CustomATagRenderer
|
||||||
, options: {
|
, options: {
|
||||||
callback: this.memberDetail,
|
callback: this.memberDetail,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'regDt', header: '등록일', align: 'center', width: 130},
|
{name: 'regDt', header: '등록일', align: 'center', width: 130},
|
||||||
{ name: 'userStat', header: '상태', align: 'center', width: 130}
|
{name: 'userStat', header: '상태', align: 'center', width: 130}
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
params: {
|
params: {
|
||||||
@@ -211,7 +215,7 @@ export default {
|
|||||||
commonModal,
|
commonModal,
|
||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
this.setCodeData();
|
this.setCodeData();
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
},
|
},
|
||||||
@@ -237,7 +241,7 @@ export default {
|
|||||||
let page = 1;
|
let page = 1;
|
||||||
// 페이지 정보 및 검색 조건
|
// 페이지 정보 및 검색 조건
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
console.log('getCondition : '+getCondition);
|
console.log('getCondition : ' + getCondition);
|
||||||
|
|
||||||
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
||||||
let isKeep = false;
|
let isKeep = false;
|
||||||
@@ -262,10 +266,10 @@ export default {
|
|||||||
next();
|
next();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
this.grid.params.startDt = moment(this.startDate).format('YYYYMMDD');
|
this.grid.params.startDt = moment(this.startDate).format('YYYYMMDD');
|
||||||
this.grid.params.endDt = moment(this.endDate).format('YYYYMMDD');
|
this.grid.params.endDt = moment(this.endDate).format('YYYYMMDD');
|
||||||
console.log('this.perPageCnt'+this.perPageCnt);
|
console.log('this.perPageCnt' + this.perPageCnt);
|
||||||
console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
this.grid.params.searchType1 = this.searchType1;
|
this.grid.params.searchType1 = this.searchType1;
|
||||||
this.grid.params.searchType2 = this.searchType2;
|
this.grid.params.searchType2 = this.searchType2;
|
||||||
@@ -274,26 +278,26 @@ export default {
|
|||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
toMove(routeName) {
|
toMove(routeName) {
|
||||||
this.$router.push({ name: routeName, params: { page: 1, searchText: '' } });
|
this.$router.push({name: routeName, params: {page: 1, searchText: ''}});
|
||||||
},
|
},
|
||||||
ModalOpen: function(){
|
ModalOpen: function () {
|
||||||
this.$refs.testIdRegPop.ModalOpen();
|
this.$refs.testIdRegPop.ModalOpen();
|
||||||
},
|
},
|
||||||
memberDetail: function(props) {
|
memberDetail: function (props) {
|
||||||
this.row.serviceId = props.userId;
|
this.row.serviceId = props.userId;
|
||||||
if(props.userType == '관리자 ID'){
|
if (props.userType == '관리자 ID') {
|
||||||
// 관리자 ID용 상세페이지 이동
|
// 관리자 ID용 상세페이지 이동
|
||||||
this.$router.push({ name: 'memberAdminDetail', params: {serviceId : this.row.serviceId} });
|
this.$router.push({name: 'memberAdminDetail', params: {serviceId: this.row.serviceId}});
|
||||||
} else {
|
} else {
|
||||||
// 사용자 ID용 상세페이지 이동
|
// 사용자 ID용 상세페이지 이동
|
||||||
this.$router.push({ name: 'memberDetail', params: {serviceId : this.row.serviceId} });
|
this.$router.push({name: 'memberDetail', params: {serviceId: this.row.serviceId}});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
changePerPage: function(){ // 페이지당 조회할 개수
|
changePerPage: function () { // 페이지당 조회할 개수
|
||||||
this.grid.pagePerRows = this.perPageCnt;
|
this.grid.pagePerRows = this.perPageCnt;
|
||||||
this.search(true);
|
this.search(true);
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
// console.log("==========getP : " + getP._currentPage);
|
// console.log("==========getP : " + getP._currentPage);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -308,11 +312,11 @@ export default {
|
|||||||
|
|
||||||
setCodeData() {
|
setCodeData() {
|
||||||
// 상태 옵션 셋팅.
|
// 상태 옵션 셋팅.
|
||||||
api.commCode({'grpCd' : 'SVCUSER_STTUS_CD'}).then(response => {
|
api.commCode({'grpCd': 'SVCUSER_STTUS_CD'}).then(response => {
|
||||||
this.statType = response.data.data.list;
|
this.statType = response.data.data.list;
|
||||||
});
|
});
|
||||||
//
|
//
|
||||||
api.commCode({'grpCd' : 'SVCUSER_TP_CD'}).then(response => {
|
api.commCode({'grpCd': 'SVCUSER_TP_CD'}).then(response => {
|
||||||
this.userType = response.data.data.list;
|
this.userType = response.data.data.list;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -346,15 +350,15 @@ export default {
|
|||||||
closeDate(type) {
|
closeDate(type) {
|
||||||
if (type != undefined && type != null) {
|
if (type != undefined && type != null) {
|
||||||
if (type == 'start') {
|
if (type == 'start') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {from: this.endDate};
|
||||||
this.disabledEDate = { to: this.startDate, from: this.endDate };
|
this.disabledEDate = {to: this.startDate, from: this.endDate};
|
||||||
} else if (type == 'end') {
|
} else if (type == 'end') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {from: this.endDate};
|
||||||
this.disabledEDate = { to: this.startDate, from: new Date() };
|
this.disabledEDate = {to: this.startDate, from: new Date()};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
customFormatter: function(date) {
|
customFormatter: function (date) {
|
||||||
if (this.sDateDiv == 'month') {
|
if (this.sDateDiv == 'month') {
|
||||||
return moment(date).format('YYYY-MM');
|
return moment(date).format('YYYY-MM');
|
||||||
} else if (this.sDateDiv == 'year') {
|
} else if (this.sDateDiv == 'year') {
|
||||||
@@ -363,7 +367,7 @@ export default {
|
|||||||
return moment(date).format('YYYY-MM-DD');
|
return moment(date).format('YYYY-MM-DD');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
initSetStartDate(){
|
initSetStartDate() {
|
||||||
let setYear = Number(moment(new Date()).format('YYYY'));
|
let setYear = Number(moment(new Date()).format('YYYY'));
|
||||||
let initStartDate = new Date(setYear, 0, 1);
|
let initStartDate = new Date(setYear, 0, 1);
|
||||||
this.startDate = initStartDate;
|
this.startDate = initStartDate;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<div class="title">기본정보</div>
|
<div class="title">기본정보</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="table table_form">
|
<div class="table table_form">
|
||||||
<!-- <form autocomplete="off">-->
|
<!-- <form autocomplete="off">-->
|
||||||
<table>
|
<table>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width:140px">
|
<col style="width:140px">
|
||||||
@@ -59,13 +59,12 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<!-- </form>-->
|
<!-- </form>-->
|
||||||
</div>
|
</div>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="title">사용정보</div>
|
<div class="title">사용정보</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="table table_form">
|
<div class="table table_form">
|
||||||
<!-- <form autocomplete="off">-->
|
|
||||||
<table>
|
<table>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width:140px">
|
<col style="width:140px">
|
||||||
@@ -107,10 +106,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<!-- </form>-->
|
|
||||||
</div>
|
</div>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="title">사용자 데이터</div>
|
<div class="title">사용자 데이터</div>
|
||||||
@@ -189,8 +186,8 @@ import commonModal from "@/components/modal/commonModal";
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "subsDetail",
|
name: "subsDetail",
|
||||||
data(){
|
data() {
|
||||||
return{
|
return {
|
||||||
row: {},
|
row: {},
|
||||||
custNm: '',
|
custNm: '',
|
||||||
reprNm: '',
|
reprNm: '',
|
||||||
@@ -220,7 +217,7 @@ export default {
|
|||||||
mdn: '',
|
mdn: '',
|
||||||
carryOver: '',
|
carryOver: '',
|
||||||
userCnt: '',
|
userCnt: '',
|
||||||
saveConfirm:false,
|
saveConfirm: false,
|
||||||
props: {},
|
props: {},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -238,17 +235,17 @@ export default {
|
|||||||
AdminNmPop,
|
AdminNmPop,
|
||||||
commonModal,
|
commonModal,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
console.log(this.$route.params.serviceId);
|
console.log(this.$route.params.serviceId);
|
||||||
this.subsDetail(this.$route.params.serviceId);
|
this.subsDetail(this.$route.params.serviceId);
|
||||||
// checkVaildBizNum
|
// checkVaildBizNum
|
||||||
},
|
},
|
||||||
methods :{
|
methods: {
|
||||||
callAlert(props){
|
callAlert(props) {
|
||||||
//alert("호출됨!");
|
//alert("호출됨!");
|
||||||
this.$refs.commmonModal.alertModalOpen(props);
|
this.$refs.commmonModal.alertModalOpen(props);
|
||||||
},
|
},
|
||||||
doValidate(){
|
doValidate() {
|
||||||
// if(this.isNull(this.userId)){
|
// if(this.isNull(this.userId)){
|
||||||
// alert("아이디를 입력해 주세요.");
|
// alert("아이디를 입력해 주세요.");
|
||||||
// this.$refs._userId.focus();
|
// this.$refs._userId.focus();
|
||||||
@@ -257,18 +254,18 @@ export default {
|
|||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
// 저장 후 부모창 호출.
|
// 저장 후 부모창 호출.
|
||||||
toComplete(){
|
toComplete() {
|
||||||
this.row.searchType1 = '';
|
this.row.searchType1 = '';
|
||||||
this.row.searchType2= '';
|
this.row.searchType2 = '';
|
||||||
this.row.searchType3= '';
|
this.row.searchType3 = '';
|
||||||
this.row.searchText1= '';
|
this.row.searchText1 = '';
|
||||||
this.row.startDt= '';
|
this.row.startDt = '';
|
||||||
this.row.endDt= '';
|
this.row.endDt = '';
|
||||||
this.row.page = 1;
|
this.row.page = 1;
|
||||||
|
|
||||||
this.$router.push({ name: 'subsList', params: this.row });
|
this.$router.push({name: 'subsList', params: this.row});
|
||||||
},
|
},
|
||||||
async doInsert(props){
|
async doInsert(props) {
|
||||||
|
|
||||||
console.log(props);
|
console.log(props);
|
||||||
// try {
|
// try {
|
||||||
@@ -283,7 +280,7 @@ export default {
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
async subsDetail(serviceId){
|
async subsDetail(serviceId) {
|
||||||
this.row.serviceId = serviceId;
|
this.row.serviceId = serviceId;
|
||||||
try {
|
try {
|
||||||
const response = await custMgtApi.subsDetail(this.row);
|
const response = await custMgtApi.subsDetail(this.row);
|
||||||
@@ -315,12 +312,12 @@ export default {
|
|||||||
this.mdn = result.data.mdn;
|
this.mdn = result.data.mdn;
|
||||||
this.carryOver = result.data.carryOver;
|
this.carryOver = result.data.carryOver;
|
||||||
this.userCnt = result.data.userCnt;
|
this.userCnt = result.data.userCnt;
|
||||||
if(this.bregNo != '' && this.bregNo != null){
|
if (this.bregNo != '' && this.bregNo != null) {
|
||||||
this.bregNo1 = this.bregNo.substr(0, 3);
|
this.bregNo1 = this.bregNo.substr(0, 3);
|
||||||
this.bregNo2 = this.bregNo.substr(3, 2);
|
this.bregNo2 = this.bregNo.substr(3, 2);
|
||||||
this.bregNo3 = this.bregNo.substr(5);
|
this.bregNo3 = this.bregNo.substr(5);
|
||||||
}
|
}
|
||||||
if(this.cprRegNo != '' && this.cprRegNo != null){
|
if (this.cprRegNo != '' && this.cprRegNo != null) {
|
||||||
this.cprRegNo1 = this.cprRegNo.substr(0, 6);
|
this.cprRegNo1 = this.cprRegNo.substr(0, 6);
|
||||||
this.cprRegNo2 = this.cprRegNo.substr(6);
|
this.cprRegNo2 = this.cprRegNo.substr(6);
|
||||||
}
|
}
|
||||||
@@ -360,11 +357,11 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
carryOverListPopOpen: function(){
|
carryOverListPopOpen: function () {
|
||||||
this.$refs.carryOverListPop.carryOverListPopOpen(this.serviceId);
|
this.$refs.carryOverListPop.carryOverListPopOpen(this.serviceId);
|
||||||
},
|
},
|
||||||
confirmPopOpen: function(){
|
confirmPopOpen: function () {
|
||||||
if(this.doValidate()){
|
if (this.doValidate()) {
|
||||||
// this.row.title = '사용자 수정 확인';
|
// this.row.title = '사용자 수정 확인';
|
||||||
// this.row.msg = '변경된 내용을 저장하시겠습니까?';
|
// this.row.msg = '변경된 내용을 저장하시겠습니까?';
|
||||||
// console.log(this.row);
|
// console.log(this.row);
|
||||||
@@ -374,27 +371,27 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
confirmCalbackFnc: function(props){
|
confirmCalbackFnc: function (props) {
|
||||||
console.log(props);
|
console.log(props);
|
||||||
if(props.result){
|
if (props.result) {
|
||||||
// this.doInsert(props.result);
|
// this.doInsert(props.result);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
searchIDPopOpen: function(){
|
searchIDPopOpen: function () {
|
||||||
var params = {
|
var params = {
|
||||||
"serviceId": this.row.serviceId,
|
// "serviceId": this.row.serviceId,
|
||||||
|
"serviceId": this.serviceId,
|
||||||
"serviceSeq": '',
|
"serviceSeq": '',
|
||||||
"parentDiv": 'subsDetail'
|
"parentDiv": 'subsDetail'
|
||||||
}
|
}
|
||||||
this.$refs.adminNmPop.ModalOpen(params);
|
this.$refs.adminNmPop.ModalOpen(params);
|
||||||
},
|
},
|
||||||
goMemberDetail: function(props){
|
goMemberDetail: function (props) {
|
||||||
console.log(this.row);
|
console.log(this.row);
|
||||||
this.$router.push({ name: 'memberAdminDetail', params: {serviceId : this.row.serviceId} });
|
this.$router.push({name: 'memberAdminDetail', params: {serviceId: this.row.serviceId}});
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@@ -53,10 +53,10 @@
|
|||||||
<label for="right" class="label">유치채널</label>
|
<label for="right" class="label">유치채널</label>
|
||||||
<select name="" id="" v-model="searchType2" @keyup.enter="search">
|
<select name="" id="" v-model="searchType2" @keyup.enter="search">
|
||||||
<option value="" selected>전체</option>
|
<option value="" selected>전체</option>
|
||||||
<option value="01" >고객셀프가입</option>
|
<option value="01">고객셀프가입</option>
|
||||||
<option value="02" >대리점</option>
|
<option value="02">대리점</option>
|
||||||
<option value="03" >고객센터</option>
|
<option value="03">고객센터</option>
|
||||||
<option value="04" >직접영업</option>
|
<option value="04">직접영업</option>
|
||||||
<!-- <option v-for="(option, i) in userType" v-bind:value="option.code" v-bind:key="i">
|
<!-- <option v-for="(option, i) in userType" v-bind:value="option.code" v-bind:key="i">
|
||||||
{{ option.codeNm }}
|
{{ option.codeNm }}
|
||||||
</option> -->
|
</option> -->
|
||||||
@@ -67,14 +67,14 @@
|
|||||||
<div class="select_box">
|
<div class="select_box">
|
||||||
<label for="right" class="label">상세검색</label>
|
<label for="right" class="label">상세검색</label>
|
||||||
<select name="" id="" v-model="searchType3" @keyup.enter="search">
|
<select name="" id="" v-model="searchType3" @keyup.enter="search">
|
||||||
<option value="">전체</option>
|
|
||||||
<option value="01">고객사명</option>
|
<option value="01">고객사명</option>
|
||||||
<option value="02">가입번호</option>
|
<option value="02">가입번호</option>
|
||||||
<option value="03">서비스ID</option>
|
<option value="03">서비스ID</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText1"/>
|
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText1"
|
||||||
|
maxlength="100" @keyup.enter="search"/>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -85,7 +85,10 @@
|
|||||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||||
<div class="select_box NumberSe">
|
<div class="select_box NumberSe">
|
||||||
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
||||||
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{ option.text }}</option>
|
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{
|
||||||
|
option.text
|
||||||
|
}}
|
||||||
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -130,7 +133,7 @@ class CustomATagRenderer {
|
|||||||
const el = document.createElement('a');
|
const el = document.createElement('a');
|
||||||
el.href = 'javascript:void(0);';
|
el.href = 'javascript:void(0);';
|
||||||
el.className = 'btn_text';
|
el.className = 'btn_text';
|
||||||
el.innerText= String(props.colValue)
|
el.innerText = String(props.colValue)
|
||||||
this.el = el;
|
this.el = el;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,7 +143,7 @@ class CustomATagRenderer {
|
|||||||
|
|
||||||
addEvent(selEl) {
|
addEvent(selEl) {
|
||||||
selEl.addEventListener("click", () => {
|
selEl.addEventListener("click", () => {
|
||||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
const {callback} = this.props["cgrido" + this.props.colName].options;
|
||||||
callback(this.props);
|
callback(this.props);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -159,18 +162,18 @@ export default {
|
|||||||
|
|
||||||
statType: [],
|
statType: [],
|
||||||
userType: [],
|
userType: [],
|
||||||
row:{},
|
row: {},
|
||||||
|
|
||||||
pageType: 'SUBS',
|
pageType: 'SUBS',
|
||||||
searchType1:'',
|
searchType1: '',
|
||||||
searchType2:'',
|
searchType2: '',
|
||||||
searchType3:'',
|
searchType3: '01',
|
||||||
// 테이블 리스트 데이터
|
// 테이블 리스트 데이터
|
||||||
perPageCnt: 50,
|
perPageCnt: 50,
|
||||||
options: [
|
options: [
|
||||||
{ text: '20', value: 20},
|
{text: '20', value: 20},
|
||||||
{ text: '50', value: 50},
|
{text: '50', value: 50},
|
||||||
{ text: '100', value: 100}
|
{text: '100', value: 100}
|
||||||
],
|
],
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
grid: {
|
grid: {
|
||||||
@@ -182,21 +185,22 @@ export default {
|
|||||||
addCls: 'box_OFvis',
|
addCls: 'box_OFvis',
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'No', align: 'center', width: 60},
|
{name: 'no', header: 'No', align: 'center', width: 60},
|
||||||
{ name: 'serviceId', header: '서비스 ID\n(관리자 ID)', align: 'center', width: 160 , renderer: {
|
{
|
||||||
|
name: 'serviceId', header: '서비스 ID\n(관리자 ID)', align: 'center', width: 160, renderer: {
|
||||||
type: CustomATagRenderer
|
type: CustomATagRenderer
|
||||||
, options: {
|
, options: {
|
||||||
callback: this.custDetail,
|
callback: this.custDetail,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'custNm', header: '고객사명', align: 'center', width: 130},
|
{name: 'custNm', header: '고객사명', align: 'center', width: 130},
|
||||||
{ name: 'regNo', header: '가입번호', align: 'center', width: 130},
|
{name: 'regNo', header: '가입번호', align: 'center', width: 130},
|
||||||
{ name: 'regDt', header: '가입일', align: 'center', width: 130, cls: 'td_line'},
|
{name: 'regDt', header: '가입일', align: 'center', width: 130, cls: 'td_line'},
|
||||||
{ name: 'stat', header: '상태', align: 'center', width: 130},
|
{name: 'stat', header: '상태', align: 'center', width: 130},
|
||||||
{ name: 'channel', header: '유치채널', align: 'center', width: 130},
|
{name: 'channel', header: '유치채널', align: 'center', width: 130},
|
||||||
{ name: 'plan', header: '요금제', align: 'center', width: 130},
|
{name: 'plan', header: '요금제', align: 'center', width: 130},
|
||||||
{ name: 'carryOver', header: '이월누적금액', align: 'center', width: 130}
|
{name: 'carryOver', header: '이월누적금액', align: 'center', width: 130}
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
params: {
|
params: {
|
||||||
@@ -216,7 +220,7 @@ export default {
|
|||||||
commonModal,
|
commonModal,
|
||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
|
|
||||||
this.setCodeData();
|
this.setCodeData();
|
||||||
this.getExcelHeader();
|
this.getExcelHeader();
|
||||||
@@ -244,7 +248,7 @@ export default {
|
|||||||
let page = 1;
|
let page = 1;
|
||||||
// 페이지 정보 및 검색 조건
|
// 페이지 정보 및 검색 조건
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
console.log('getCondition : '+getCondition);
|
console.log('getCondition : ' + getCondition);
|
||||||
|
|
||||||
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
||||||
let isKeep = false;
|
let isKeep = false;
|
||||||
@@ -269,10 +273,10 @@ export default {
|
|||||||
next();
|
next();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
this.grid.params.startDt = moment(this.startDate).format('YYYYMMDD');
|
this.grid.params.startDt = moment(this.startDate).format('YYYYMMDD');
|
||||||
this.grid.params.endDt = moment(this.endDate).format('YYYYMMDD');
|
this.grid.params.endDt = moment(this.endDate).format('YYYYMMDD');
|
||||||
console.log('this.perPageCnt'+this.perPageCnt);
|
console.log('this.perPageCnt' + this.perPageCnt);
|
||||||
console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
|
|
||||||
this.grid.params.searchType1 = this.searchType1
|
this.grid.params.searchType1 = this.searchType1
|
||||||
@@ -283,18 +287,18 @@ export default {
|
|||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
toMove(routeName) {
|
toMove(routeName) {
|
||||||
this.$router.push({ name: routeName, params: { page: 1, searchText: '' } });
|
this.$router.push({name: routeName, params: {page: 1, searchText: ''}});
|
||||||
},
|
},
|
||||||
custDetail(props){
|
custDetail(props) {
|
||||||
console.log(props);
|
console.log(props);
|
||||||
this.row.serviceId = props.serviceId;
|
this.row.serviceId = props.serviceId;
|
||||||
this.$router.push({ name: 'subsDetail', params: this.row });
|
this.$router.push({name: 'subsDetail', params: this.row});
|
||||||
},
|
},
|
||||||
changePerPage: function(){ // 페이지당 조회할 개수
|
changePerPage: function () { // 페이지당 조회할 개수
|
||||||
this.grid.pagePerRows = this.perPageCnt;
|
this.grid.pagePerRows = this.perPageCnt;
|
||||||
this.search(true);
|
this.search(true);
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
console.log("==========getP : " + getP._currentPage);
|
console.log("==========getP : " + getP._currentPage);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -304,15 +308,15 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
console.log("getCondition : "+ getCondition.perPage);
|
console.log("getCondition : " + getCondition.perPage);
|
||||||
},
|
},
|
||||||
setCodeData() {
|
setCodeData() {
|
||||||
// 상태 옵션 셋팅.
|
// 상태 옵션 셋팅.
|
||||||
api.commCode({'grpCd' : 'SUBS_STTUS_CD'}).then(response => {
|
api.commCode({'grpCd': 'SUBS_STTUS_CD'}).then(response => {
|
||||||
this.statType = response.data.data.list;
|
this.statType = response.data.data.list;
|
||||||
});
|
});
|
||||||
//
|
//
|
||||||
api.commCode({'grpCd' : 'SVCUSER_TP_CD'}).then(response => {
|
api.commCode({'grpCd': 'SVCUSER_TP_CD'}).then(response => {
|
||||||
this.userType = response.data.data.list;
|
this.userType = response.data.data.list;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -333,7 +337,7 @@ export default {
|
|||||||
const result = response.data;
|
const result = response.data;
|
||||||
if (result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
return result.data;
|
return result.data;
|
||||||
}else{
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
@@ -357,7 +361,8 @@ export default {
|
|||||||
dataOrder: 'header'
|
dataOrder: 'header'
|
||||||
};
|
};
|
||||||
// console.log(data);
|
// console.log(data);
|
||||||
xlsx.export(data.list, saveFileName, options).then(() => {});
|
xlsx.export(data.list, saveFileName, options).then(() => {
|
||||||
|
});
|
||||||
},
|
},
|
||||||
getExcelHeader() {
|
getExcelHeader() {
|
||||||
// 헤더를 mockup으로 관리한다.
|
// 헤더를 mockup으로 관리한다.
|
||||||
@@ -395,15 +400,15 @@ export default {
|
|||||||
closeDate(type) {
|
closeDate(type) {
|
||||||
if (type != undefined && type != null) {
|
if (type != undefined && type != null) {
|
||||||
if (type == 'start') {
|
if (type == 'start') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {from: this.endDate};
|
||||||
this.disabledEDate = { to: this.startDate, from: this.endDate };
|
this.disabledEDate = {to: this.startDate, from: this.endDate};
|
||||||
} else if (type == 'end') {
|
} else if (type == 'end') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {from: this.endDate};
|
||||||
this.disabledEDate = { to: this.startDate, from: new Date() };
|
this.disabledEDate = {to: this.startDate, from: new Date()};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
customFormatter: function(date) {
|
customFormatter: function (date) {
|
||||||
if (this.sDateDiv == 'month') {
|
if (this.sDateDiv == 'month') {
|
||||||
return moment(date).format('YYYY-MM');
|
return moment(date).format('YYYY-MM');
|
||||||
} else if (this.sDateDiv == 'year') {
|
} else if (this.sDateDiv == 'year') {
|
||||||
@@ -412,7 +417,7 @@ export default {
|
|||||||
return moment(date).format('YYYY-MM-DD');
|
return moment(date).format('YYYY-MM-DD');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
initSetStartDate(){
|
initSetStartDate() {
|
||||||
let setYear = Number(moment(new Date()).format('YYYY'));
|
let setYear = Number(moment(new Date()).format('YYYY'));
|
||||||
let initStartDate = new Date(setYear, 0, 1);
|
let initStartDate = new Date(setYear, 0, 1);
|
||||||
this.startDate = initStartDate;
|
this.startDate = initStartDate;
|
||||||
|
|||||||
@@ -6,12 +6,10 @@
|
|||||||
<h3 class="title">발송내역</h3>
|
<h3 class="title">발송내역</h3>
|
||||||
<p class="breadcrumb">모니터링 > 발송내역</p>
|
<p class="breadcrumb">모니터링 > 발송내역</p>
|
||||||
</div>
|
</div>
|
||||||
<form autocomplete="off" class="search_form">
|
|
||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="group">
|
<div class="group">
|
||||||
<div class="input_box cal one essential">
|
<div class="input_box cal one essential">
|
||||||
<label for="right" class="label"><span>*</span>발송일</label>
|
<label for="right" class="label"><span>*</span>발송일</label>
|
||||||
<!-- <input class="" type="text" id="" placeholder="2022-10-12"> -->
|
|
||||||
<div class="term">
|
<div class="term">
|
||||||
<span class="custom_input icon_date">
|
<span class="custom_input icon_date">
|
||||||
<vuejs-datepicker
|
<vuejs-datepicker
|
||||||
@@ -39,25 +37,32 @@
|
|||||||
<div class="group">
|
<div class="group">
|
||||||
<div class="input_box essential">
|
<div class="input_box essential">
|
||||||
<label for="right" class="label"><span>*</span>수신번호</label>
|
<label for="right" class="label"><span>*</span>수신번호</label>
|
||||||
<input class="search-box" type="number" id="search" placeholder="- 자 제외 숫자만 입력" v-model="grid.params.searchText1" v-on:keyup="onlyNum" @input="onlyNum" minlength="10" maxlength="11" ref="_searchText2">
|
<input class="search-box" type="text" id="search" placeholder="- 자 제외 숫자만 입력" @keyup.enter="search"
|
||||||
|
v-model.trim="grid.params.searchText1" @keypress="onlyNum" @input="onlyNum" maxlength="11"
|
||||||
|
ref="_searchText2">
|
||||||
</div>
|
</div>
|
||||||
<div class="input_box essential">
|
<div class="input_box essential">
|
||||||
<label for="right" class="label"><span>*</span>발신번호</label>
|
<label for="right" class="label"><span>*</span>발신번호</label>
|
||||||
<input class="search-box" type="number" id="search" placeholder="- 자 제외 숫자만 입력" v-model="grid.params.searchText2" v-on:keyup="onlyNum" @input="onlyNum" minlength="10" maxlength="11" ref="_searchText2">
|
<input class="search-box" type="text" id="search" placeholder="- 자 제외 숫자만 입력" @keyup.enter="search"
|
||||||
|
v-model.trim="grid.params.searchText2" @keypress="onlyNum" @input="onlyNum" maxlength="11"
|
||||||
|
ref="_searchText2">
|
||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="right" class="label">고객사명</label>
|
<label for="right" class="label">고객사명</label>
|
||||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText3" ref="_searchText3">
|
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model.trim="grid.params.searchText3"
|
||||||
|
@keypress="onlyName" @input="onlyName" @keyup.enter="search" ref="_searchText3" maxlength="100">
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||||
<div class="select_box NumberSe">
|
<div class="select_box NumberSe">
|
||||||
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
||||||
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{ option.text }}</option>
|
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{
|
||||||
|
option.text
|
||||||
|
}}
|
||||||
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -81,18 +86,16 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<common-modal ref="commmonModal"></common-modal>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<common-modal ref="commmonModal"></common-modal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import customGrid from '@/components/CustomGrid';
|
import customGrid from '@/components/CustomGrid';
|
||||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import xlsx from '@/common/excel';
|
|
||||||
//import commonModal from "@/components/modal/commonModal";
|
|
||||||
import commonModal from "../components/commonModal";
|
import commonModal from "../components/commonModal";
|
||||||
|
|
||||||
class CustomATagRenderer {
|
class CustomATagRenderer {
|
||||||
@@ -101,7 +104,7 @@ class CustomATagRenderer {
|
|||||||
const el = document.createElement('a');
|
const el = document.createElement('a');
|
||||||
el.href = 'javascript:void(0);';
|
el.href = 'javascript:void(0);';
|
||||||
el.className = 'btn_text';
|
el.className = 'btn_text';
|
||||||
el.innerText= String(props.colValue)
|
el.innerText = String(props.colValue)
|
||||||
this.el = el;
|
this.el = el;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,7 +114,7 @@ class CustomATagRenderer {
|
|||||||
|
|
||||||
addEvent(selEl) {
|
addEvent(selEl) {
|
||||||
selEl.addEventListener("click", () => {
|
selEl.addEventListener("click", () => {
|
||||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
const {callback} = this.props["cgrido" + this.props.colName].options;
|
||||||
callback(this.props);
|
callback(this.props);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -131,16 +134,16 @@ export default {
|
|||||||
|
|
||||||
statType: [],
|
statType: [],
|
||||||
userType: [],
|
userType: [],
|
||||||
row:{},
|
row: {},
|
||||||
|
initMode: false,
|
||||||
pageType: 'SUBS',
|
pageType: 'SUBS',
|
||||||
|
|
||||||
// 테이블 리스트 데이터
|
// 테이블 리스트 데이터
|
||||||
perPageCnt: 50,
|
perPageCnt: 50,
|
||||||
options: [
|
options: [
|
||||||
{ text: '20', value: 20},
|
{text: '20', value: 20},
|
||||||
{ text: '50', value: 50},
|
{text: '50', value: 50},
|
||||||
{ text: '100', value: 100}
|
{text: '100', value: 100}
|
||||||
],
|
],
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
grid: {
|
grid: {
|
||||||
@@ -153,34 +156,34 @@ export default {
|
|||||||
|
|
||||||
header: [
|
header: [
|
||||||
[
|
[
|
||||||
{ header: 'NO', childNames: [] },
|
{header: 'NO', childNames: []},
|
||||||
{ header: '발송일자', childNames: [] },
|
{header: '발송일자', childNames: []},
|
||||||
{ header: '고객사명', childNames: [] },
|
{header: '고객사명', childNames: []},
|
||||||
{ header: '발송아이디(사용자ID)', childNames: [] },
|
{header: '발송아이디(사용자ID)', childNames: []},
|
||||||
{ header: '수신번호', childNames: [] },
|
{header: '수신번호', childNames: []},
|
||||||
{ header: '발신번호', childNames: [] },
|
{header: '발신번호', childNames: []},
|
||||||
{ header: '요청채널', childNames: [] },
|
{header: '요청채널', childNames: []},
|
||||||
{ header: '최종채널', childNames: [] },
|
{header: '최종채널', childNames: []},
|
||||||
{ header: '이통사', childNames: [] },
|
{header: '이통사', childNames: []},
|
||||||
{ header: '결과(코드)', childNames: [] },
|
{header: '결과(코드)', childNames: []},
|
||||||
{ header: '요청일시', childNames: [] },
|
{header: '요청일시', childNames: []},
|
||||||
{ header: '완료일시', childNames: [] },
|
{header: '완료일시', childNames: []},
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
{name: 'no', header: 'NO', align: 'center', width: '5%'},
|
||||||
{ name: '', header: '발송일자', align: 'left', width: '11%' },
|
{name: '', header: '발송일자', align: 'left', width: '11%'},
|
||||||
{ name: '', header: '고객사명', align: 'left', width: '9%' },
|
{name: '', header: '고객사명', align: 'left', width: '9%'},
|
||||||
{ name: '', header: '발송아이디(사용자ID)', align: 'center', width: '9%'},
|
{name: '', header: '발송아이디(사용자ID)', align: 'center', width: '9%'},
|
||||||
{ name: '', header: '수신번호', align: 'center', width: '11%'},
|
{name: '', header: '수신번호', align: 'center', width: '11%'},
|
||||||
{ name: '', header: '발신번호', align: 'center', width: '11%'},
|
{name: '', header: '발신번호', align: 'center', width: '11%'},
|
||||||
{ name: '', header: '요청채널', align: 'center', width: '5%'},
|
{name: '', header: '요청채널', align: 'center', width: '5%'},
|
||||||
{ name: '', header: '최종채널', align: 'center', width: '5%'},
|
{name: '', header: '최종채널', align: 'center', width: '5%'},
|
||||||
{ name: '', header: '이통사', align: 'center', width: '5%'},
|
{name: '', header: '이통사', align: 'center', width: '5%'},
|
||||||
{ name: '', header: '결과(코드)', align: 'center', width: '9%'},
|
{name: '', header: '결과(코드)', align: 'center', width: '9%'},
|
||||||
{ name: '', header: '요청일시', align: 'center', width: '10%'},
|
{name: '', header: '요청일시', align: 'center', width: '10%'},
|
||||||
{ name: '', header: '완료일시', align: 'center', width: '10%'},
|
{name: '', header: '완료일시', align: 'center', width: '10%'},
|
||||||
|
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
@@ -200,12 +203,15 @@ export default {
|
|||||||
commonModal,
|
commonModal,
|
||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
// this.setCodeData();
|
// this.setCodeData();
|
||||||
// this.getExcelHeader();
|
// this.getExcelHeader();
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
this.grid.params.searchType1 = '';
|
this.grid.params.searchType1 = '';
|
||||||
|
// this.$refs.table.cleanData();
|
||||||
|
this.initMode = true;
|
||||||
},
|
},
|
||||||
|
|
||||||
destroyed() {
|
destroyed() {
|
||||||
this.grid.params.searchType1 = '';
|
this.grid.params.searchType1 = '';
|
||||||
this.grid.params.searchText1 = '';
|
this.grid.params.searchText1 = '';
|
||||||
@@ -219,7 +225,7 @@ export default {
|
|||||||
let page = 1;
|
let page = 1;
|
||||||
// 페이지 정보 및 검색 조건
|
// 페이지 정보 및 검색 조건
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
console.log('getCondition : '+getCondition);
|
console.log('getCondition : ' + getCondition);
|
||||||
|
|
||||||
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
||||||
let isKeep = false;
|
let isKeep = false;
|
||||||
@@ -229,7 +235,7 @@ export default {
|
|||||||
page = getCondition.page;
|
page = getCondition.page;
|
||||||
isKeep = true;
|
isKeep = true;
|
||||||
}
|
}
|
||||||
//this.search(isKeep);
|
this.search(isKeep);
|
||||||
},
|
},
|
||||||
beforeRouteLeave(to, from, next) {
|
beforeRouteLeave(to, from, next) {
|
||||||
|
|
||||||
@@ -244,17 +250,23 @@ export default {
|
|||||||
next();
|
next();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
if(this.doValidate()){
|
if (this.initMode) {
|
||||||
|
this.grid.params.phone = 99999999999;
|
||||||
|
this.grid.params.callbackNumber = 99999999999;
|
||||||
|
} else {
|
||||||
|
if (this.doValidate()) {
|
||||||
this.grid.params.sentDate = moment(this.startDate).format('YYYYMMDD');
|
this.grid.params.sentDate = moment(this.startDate).format('YYYYMMDD');
|
||||||
this.grid.params.reqChennel = this.grid.params.searchType1;
|
this.grid.params.reqChennel = this.grid.params.searchType1;
|
||||||
this.grid.params.phone = this.grid.params.searchText1;
|
this.grid.params.phone = this.grid.params.searchText1;
|
||||||
this.grid.params.callbackNumber = this.grid.params.searchText2;
|
this.grid.params.callbackNumber = this.grid.params.searchText2;
|
||||||
this.grid.params.custNm = this.grid.params.searchText3;
|
this.grid.params.custNm = this.grid.params.searchText3;
|
||||||
console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
|
}
|
||||||
|
}
|
||||||
this.$refs.table.search(this.grid.params, isKeep);
|
this.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
}
|
this.initMode = false;
|
||||||
},
|
},
|
||||||
setPeriodDay(day) {
|
setPeriodDay(day) {
|
||||||
this.periodDay = day;
|
this.periodDay = day;
|
||||||
@@ -284,15 +296,15 @@ export default {
|
|||||||
closeDate(type) {
|
closeDate(type) {
|
||||||
if (type != undefined && type != null) {
|
if (type != undefined && type != null) {
|
||||||
if (type == 'start') {
|
if (type == 'start') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {from: this.endDate};
|
||||||
this.disabledEDate = { to: this.startDate, from: this.endDate };
|
this.disabledEDate = {to: this.startDate, from: this.endDate};
|
||||||
} else if (type == 'end') {
|
} else if (type == 'end') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {from: this.endDate};
|
||||||
this.disabledEDate = { to: this.startDate, from: new Date() };
|
this.disabledEDate = {to: this.startDate, from: new Date()};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
customFormatter: function(date) {
|
customFormatter: function (date) {
|
||||||
if (this.sDateDiv == 'month') {
|
if (this.sDateDiv == 'month') {
|
||||||
return moment(date).format('YYYY-MM');
|
return moment(date).format('YYYY-MM');
|
||||||
} else if (this.sDateDiv == 'year') {
|
} else if (this.sDateDiv == 'year') {
|
||||||
@@ -301,11 +313,11 @@ export default {
|
|||||||
return moment(date).format('YYYY-MM-DD');
|
return moment(date).format('YYYY-MM-DD');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
changePerPage: function(){ // 페이지당 조회할 개수
|
changePerPage: function () { // 페이지당 조회할 개수
|
||||||
this.grid.pagePerRows = this.perPageCnt;
|
this.grid.pagePerRows = this.perPageCnt;
|
||||||
this.search(true);
|
this.search(true);
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
console.log("==========getP : " + getP._currentPage);
|
console.log("==========getP : " + getP._currentPage);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -315,11 +327,11 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
console.log("getCondition : "+ getCondition.perPage);
|
console.log("getCondition : " + getCondition.perPage);
|
||||||
},
|
},
|
||||||
doValidate(){
|
doValidate() {
|
||||||
// 발송일자 필수입력체크
|
// 발송일자 필수입력체크
|
||||||
if(this.isNull(this.startDate)) {
|
if (this.isNull(this.startDate)) {
|
||||||
this.row.title = '발송내역';
|
this.row.title = '발송내역';
|
||||||
this.row.msg1 = '발송일을 선택해 주세요.';
|
this.row.msg1 = '발송일을 선택해 주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
@@ -327,7 +339,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 수신번호 필수입력체크
|
// 수신번호 필수입력체크
|
||||||
if(this.isNull(this.grid.params.searchText1)) {
|
if (this.isNull(this.grid.params.searchText1)) {
|
||||||
this.row.title = '발송내역';
|
this.row.title = '발송내역';
|
||||||
this.row.msg1 = '수신번호를 입력해 주세요.';
|
this.row.msg1 = '수신번호를 입력해 주세요.';
|
||||||
this.row.focusTaget = '1';
|
this.row.focusTaget = '1';
|
||||||
@@ -336,7 +348,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 발신번호 필수입력체크
|
// 발신번호 필수입력체크
|
||||||
if(this.isNull(this.grid.params.searchText2)) {
|
if (this.isNull(this.grid.params.searchText2)) {
|
||||||
this.row.title = '발송내역';
|
this.row.title = '발송내역';
|
||||||
this.row.msg1 = '발신번호를 입력해 주세요.';
|
this.row.msg1 = '발신번호를 입력해 주세요.';
|
||||||
this.row.focusTaget = '2';
|
this.row.focusTaget = '2';
|
||||||
@@ -347,10 +359,10 @@ export default {
|
|||||||
return true;
|
return true;
|
||||||
|
|
||||||
},
|
},
|
||||||
checkFocus(){
|
checkFocus() {
|
||||||
if(this.row.focusTaget === '1'){
|
if (this.row.focusTaget === '1') {
|
||||||
this.$refs._searchText1.focus();
|
this.$refs._searchText1.focus();
|
||||||
} else if(this.row.focusTaget === '2'){
|
} else if (this.row.focusTaget === '2') {
|
||||||
this.$refs._searchText2.focus();
|
this.$refs._searchText2.focus();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<!-- <div class="wrap bg-wrap"> -->
|
<!-- <div class="wrap bg-wrap"> -->
|
||||||
<div>
|
<div>
|
||||||
<div class="dimmed" @click="ModalClose();"></div>
|
<div class="dimmed modal52" @click="ModalClose();"></div>
|
||||||
<div class="popup-wrap">
|
<div class="popup-wrap modal52">
|
||||||
|
|
||||||
<!-- 발신번호 차단 신규 등록 -->
|
<!-- 발신번호 차단 신규 등록 -->
|
||||||
<div class="popup modal52 popup_form">
|
<div class="popup modal52 popup_form">
|
||||||
@@ -14,7 +14,8 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th>발신번호</th>
|
<th>발신번호</th>
|
||||||
<td><input type="number" placeholder="- 자 제외 숫자만 입력" maxlength="11" v-model.trim="blckSndrno" v-on:keyup="onlyNum" @input="onlyNum" ref="_blckSndrno"></td>
|
<td><input type="text" placeholder="- 자 제외 숫자만 입력" v-model.trim="blckSndrno"
|
||||||
|
@keypress="onlyNum" @input="onlyNum" minlength="10" maxlength="11" ref="_blckSndrno"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>발송타입</th>
|
<th>발송타입</th>
|
||||||
@@ -24,16 +25,7 @@
|
|||||||
<option v-for="(option, i) in tpType" :value="option.code" v-bind:key="i">
|
<option v-for="(option, i) in tpType" :value="option.code" v-bind:key="i">
|
||||||
{{ option.codeNm }}
|
{{ option.codeNm }}
|
||||||
</option>
|
</option>
|
||||||
<!--
|
|
||||||
<option v-for="(option, i) in tpType"
|
|
||||||
:v-bind:value="option.grpCd"
|
|
||||||
v-bind:key="i"
|
|
||||||
:selected="code === option.grpCd"
|
|
||||||
>
|
|
||||||
{{ option.codeNm }}
|
|
||||||
</option> -->
|
|
||||||
<!-- <option value="">문자</option>
|
|
||||||
<option value="">RCS</option> -->
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
@@ -52,7 +44,8 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>메모</th>
|
<th>메모</th>
|
||||||
<td class="sender"><textarea class="memo_text" v-model.trim="meno" ref="meno" @input="memoLimitByte()"></textarea></td>
|
<td class="sender"><textarea class="memo_text" v-model.trim="meno" ref="meno" maxlength="1000"
|
||||||
|
@input="memoLimitByte()"></textarea></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@@ -72,15 +65,16 @@
|
|||||||
<script>
|
<script>
|
||||||
import api from '@/service/api';
|
import api from '@/service/api';
|
||||||
import riskMgtApi from '../service/riskMgtApi'
|
import riskMgtApi from '../service/riskMgtApi'
|
||||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||||
import lodash from "lodash";
|
import lodash from "lodash";
|
||||||
import commonModal from "@/components/modal/commonModal";
|
// import commonModal from "@/components/modal/commonModal";
|
||||||
import ValidationConfirmPopup from './ValidationConfirmPopup.vue';
|
import ValidationConfirmPopup from './ValidationConfirmPopup.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
mixins: [utils_mixin, chkPattern2],
|
mixins: [utils_mixin, chkPattern2],
|
||||||
data(){
|
data() {
|
||||||
return{
|
return {
|
||||||
props : {},
|
props: {},
|
||||||
row: {},
|
row: {},
|
||||||
rsnType: [],
|
rsnType: [],
|
||||||
tpType: [],
|
tpType: [],
|
||||||
@@ -88,8 +82,8 @@ export default {
|
|||||||
sndblckTpCd: '01',
|
sndblckTpCd: '01',
|
||||||
blckRsnCd: '01',
|
blckRsnCd: '01',
|
||||||
meno: '',
|
meno: '',
|
||||||
code:"",
|
code: "",
|
||||||
LINE_FEED : 10, // '\n',
|
LINE_FEED: 10, // '\n',
|
||||||
maxByte: 2000,
|
maxByte: 2000,
|
||||||
// params: {
|
// params: {
|
||||||
// 'blckSndrno' : ''
|
// 'blckSndrno' : ''
|
||||||
@@ -99,45 +93,43 @@ export default {
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
create(){
|
create() {
|
||||||
this.setCodeDate();
|
this.setCodeDate();
|
||||||
this.formReset();
|
this.formReset();
|
||||||
},
|
},
|
||||||
mounted(){
|
mounted() {
|
||||||
//this.sndblckTpCd = '01'
|
//this.sndblckTpCd = '01'
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
commonModal,
|
// commonModal,
|
||||||
ValidationConfirmPopup
|
ValidationConfirmPopup
|
||||||
},
|
},
|
||||||
methods :{
|
methods: {
|
||||||
//모달 띄우기
|
//모달 띄우기
|
||||||
ModalOpen(){
|
ModalOpen() {
|
||||||
var dimmed = document.getElementsByClassName('dimmed');
|
|
||||||
dimmed[0].style.display = 'block';
|
var dimmed = document.getElementsByClassName('modal52');
|
||||||
var wrap = document.getElementsByClassName('popup-wrap');
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
wrap[0].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
var obj = document.getElementsByClassName('modal52');
|
}
|
||||||
obj[0].style.display = 'block';
|
|
||||||
this.setCodeDate();
|
this.setCodeDate();
|
||||||
},
|
},
|
||||||
// 모달 끄기
|
// 모달 끄기
|
||||||
ModalClose(){
|
ModalClose() {
|
||||||
//this.formReset();
|
this.formReset();
|
||||||
var dimmed = document.getElementsByClassName('dimmed');
|
|
||||||
dimmed[0].style.display = 'none';
|
var dimmed = document.getElementsByClassName('modal52');
|
||||||
var wrap = document.getElementsByClassName('popup-wrap');
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
wrap[0].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
var popup = document.getElementsByClassName('modal52');
|
}
|
||||||
popup[0].style.display = 'none';
|
|
||||||
|
|
||||||
},
|
},
|
||||||
// 저장 후 부모창 호출
|
// 저장 후 부모창 호출
|
||||||
toComplete(){
|
toComplete() {
|
||||||
this.$parent.$refs.table.reloadData();
|
this.$parent.$refs.table.reloadData();
|
||||||
this.ModalClose();
|
this.ModalClose();
|
||||||
},
|
},
|
||||||
async doInsert(){
|
async doInsert() {
|
||||||
// if(this.doValidate() && this.regisConfirm()){
|
// if(this.doValidate() && this.regisConfirm()){
|
||||||
this.row.blckSndrno = this.blckSndrno;
|
this.row.blckSndrno = this.blckSndrno;
|
||||||
this.row.sndblckTpCd = this.sndblckTpCd;
|
this.row.sndblckTpCd = this.sndblckTpCd;
|
||||||
@@ -155,7 +147,7 @@ export default {
|
|||||||
this.$parent.alertInsert(this.row);
|
this.$parent.alertInsert(this.row);
|
||||||
}
|
}
|
||||||
this.toComplete();
|
this.toComplete();
|
||||||
} catch(err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
this.row.title = '발신번호 차단';
|
this.row.title = '발신번호 차단';
|
||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
@@ -163,18 +155,18 @@ export default {
|
|||||||
}
|
}
|
||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
setCodeDate(){
|
setCodeDate() {
|
||||||
// 발송타입
|
// 발송타입
|
||||||
api.commCode({'grpCd' : 'SNDBLCK_TP_CD'}).then(response => {
|
api.commCode({'grpCd': 'SNDBLCK_TP_CD'}).then(response => {
|
||||||
this.tpType = response.data.data.list;
|
this.tpType = response.data.data.list;
|
||||||
});
|
});
|
||||||
api.commCode({'grpCd' : 'SNDBLCK_RSN_CD'}).then(response => {
|
api.commCode({'grpCd': 'SNDBLCK_RSN_CD'}).then(response => {
|
||||||
this.rsnType = response.data.data.list;
|
this.rsnType = response.data.data.list;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
doValidate(){
|
doValidate() {
|
||||||
if(this.isNull(this.blckSndrno)){
|
if (this.isNull(this.blckSndrno)) {
|
||||||
this.row.title = '발신번호 차단';
|
this.row.title = '발신번호 차단';
|
||||||
this.row.msg1 = '발신번호를 입력해주세요.';
|
this.row.msg1 = '발신번호를 입력해주세요.';
|
||||||
this.$parent.alertInsert(this.row);
|
this.$parent.alertInsert(this.row);
|
||||||
@@ -182,26 +174,26 @@ export default {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const hp = this.blckSndrno;
|
const hp = this.blckSndrno;
|
||||||
if(!this.isNull(hp) && !this.isMobile(hp)){
|
if (!this.isNull(hp) && !this.isMobile(hp)) {
|
||||||
this.row.title = '발신번호 차단';
|
this.row.title = '발신번호 차단';
|
||||||
this.row.msg1 = '발신번호 형식이 잘못되었습니다. 확인 해주세요.';
|
this.row.msg1 = '발신번호 형식이 잘못되었습니다. 확인 해주세요.';
|
||||||
this.$parent.alertInsert(this.row)
|
this.$parent.alertInsert(this.row)
|
||||||
this.$refs._blckSndrno.focus();
|
this.$refs._blckSndrno.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
this.row.blckSndrno=this.blckSndrno;
|
this.row.blckSndrno = this.blckSndrno;
|
||||||
this.row.sndblckTpCd = this.sndblckTpCd;
|
this.row.sndblckTpCd = this.sndblckTpCd;
|
||||||
this.row.blckRsnCd = this.blckRsnCd;
|
this.row.blckRsnCd = this.blckRsnCd;
|
||||||
this.row.meno=this.meno;
|
this.row.meno = this.meno;
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
formReset(){
|
formReset() {
|
||||||
var type= this.insertType;
|
var type = this.insertType;
|
||||||
Object.assign(this.$data, this.$options.data());
|
Object.assign(this.$data, this.$options.data());
|
||||||
this.insertType = type;
|
this.insertType = type;
|
||||||
},
|
},
|
||||||
regisConfirm(){
|
regisConfirm() {
|
||||||
if(this.doValidate()){
|
if (this.doValidate()) {
|
||||||
this.$refs.ValidationConfirmPopup.confirmInsertOpen();
|
this.$refs.ValidationConfirmPopup.confirmInsertOpen();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -249,7 +241,23 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.popup-btn-wrap {width: 500px; margin: auto; padding: 100px 0;}
|
.popup-btn-wrap {
|
||||||
.popup-btn-wrap button {width: 100%; margin-bottom: 10px; height: 50px; border-radius: 5px; box-shadow: none; border: 1px solid #000; }
|
width: 500px;
|
||||||
.popup-btn-wrap button:hover {background: #000; color: #fff;}
|
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>
|
</style>
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<!-- <div class="wrap bg-wrap"> -->
|
<!-- <div class="wrap bg-wrap"> -->
|
||||||
<div>
|
<div>
|
||||||
<div class="dimmed" @click="ModalClose();"></div>
|
<div class="dimmed modal57" @click="ModalClose();"></div>
|
||||||
<div class="popup-wrap">
|
<div class="popup-wrap modal57">
|
||||||
<!-- 메시지 차단 신규 등록 -->
|
<!-- 메시지 차단 신규 등록 -->
|
||||||
<div class="popup popup_form modal57">
|
<div class="popup popup_form modal57">
|
||||||
<div class="pop-head">
|
<div class="pop-head">
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th>조건</th>
|
<th>조건</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="radio" name="state" value="01" id="popup_radio3" v-model="blckContCd" >
|
<input type="radio" name="state" value="01" id="popup_radio3" v-model="blckContCd">
|
||||||
<label for="popup_radio3">AND</label>
|
<label for="popup_radio3">AND</label>
|
||||||
<input type="radio" name="state" value="02" id="popup_radio4" v-model="blckContCd">
|
<input type="radio" name="state" value="02" id="popup_radio4" v-model="blckContCd">
|
||||||
<label for="popup_radio4">OR</label>
|
<label for="popup_radio4">OR</label>
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>메모</th>
|
<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"></textarea></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -73,12 +73,13 @@
|
|||||||
import api from '@/service/api';
|
import api from '@/service/api';
|
||||||
import riskMgtApi from '../service/riskMgtApi';
|
import riskMgtApi from '../service/riskMgtApi';
|
||||||
import lodash from "lodash";
|
import lodash from "lodash";
|
||||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||||
import ValidationConfirmPopup from './ValidationConfirmPopup.vue';
|
import ValidationConfirmPopup from './ValidationConfirmPopup.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
mixins: [utils_mixin, chkPattern2],
|
mixins: [utils_mixin, chkPattern2],
|
||||||
data(){
|
data() {
|
||||||
return{
|
return {
|
||||||
|
|
||||||
row: {},
|
row: {},
|
||||||
// msgBlckword: {
|
// msgBlckword: {
|
||||||
@@ -91,59 +92,53 @@ export default {
|
|||||||
tpType: [],
|
tpType: [],
|
||||||
// seqNo: '', // 일련번호
|
// seqNo: '', // 일련번호
|
||||||
word: '', // 차단문구
|
word: '', // 차단문구
|
||||||
blckSndrno:'',
|
blckSndrno: '',
|
||||||
sndblckTpCd:'',
|
sndblckTpCd: '',
|
||||||
blckRsnCd: '01', // 차단사유
|
blckRsnCd: '01', // 차단사유
|
||||||
blckYn:'',
|
blckYn: '',
|
||||||
blckContCd:'01', //차단 조건
|
blckContCd: '01', //차단 조건
|
||||||
chgDt:'',
|
chgDt: '',
|
||||||
regId: '',
|
regId: '',
|
||||||
regDt: '',
|
regDt: '',
|
||||||
memo: '', // 메모
|
memo: '', // 메모
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
this.formReset();
|
this.formReset();
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
ValidationConfirmPopup
|
ValidationConfirmPopup
|
||||||
},
|
},
|
||||||
|
|
||||||
methods :{
|
methods: {
|
||||||
ModalOpen(){
|
ModalOpen() {
|
||||||
this.formReset();
|
var dimmed = document.getElementsByClassName('modal57');
|
||||||
var dimmed = document.getElementsByClassName('dimmed');
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[0].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
var wrap = document.getElementsByClassName('popup-wrap');
|
}
|
||||||
wrap[0].style.display = 'block';
|
|
||||||
var obj = document.getElementsByClassName('modal57');
|
|
||||||
obj[0].style.display = 'block';
|
|
||||||
this.setCodeDate();
|
this.setCodeDate();
|
||||||
},
|
},
|
||||||
// 모달 끄기
|
// 모달 끄기
|
||||||
ModalClose(){
|
ModalClose() {
|
||||||
//this.formReset();
|
this.formReset();
|
||||||
var dimmed = document.getElementsByClassName('dimmed');
|
var dimmed = document.getElementsByClassName('modal57');
|
||||||
dimmed[0].style.display = 'none';
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
var wrap = document.getElementsByClassName('popup-wrap');
|
dimmed[i].style.display = 'none';
|
||||||
wrap[0].style.display = 'none';
|
}
|
||||||
var popup = document.getElementsByClassName('modal57');
|
|
||||||
popup[0].style.display = 'none';
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
setCodeDate(){
|
setCodeDate() {
|
||||||
// 발송타입
|
// 발송타입
|
||||||
api.commCode({'grpCd' : 'SNDBLCK_TP_CD'}).then(response => {
|
api.commCode({'grpCd': 'SNDBLCK_TP_CD'}).then(response => {
|
||||||
this.tpType = response.data.data.list;
|
this.tpType = response.data.data.list;
|
||||||
});
|
});
|
||||||
api.commCode({'grpCd' : 'SNDBLCK_RSN_CD'}).then(response => {
|
api.commCode({'grpCd': 'SNDBLCK_RSN_CD'}).then(response => {
|
||||||
this.rsnType = response.data.data.list;
|
this.rsnType = response.data.data.list;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
async doInsert(){
|
async doInsert() {
|
||||||
// if(this.doValidate() && window.confirm('등록 하시겠습니까?')){
|
// if(this.doValidate() && window.confirm('등록 하시겠습니까?')){
|
||||||
try {
|
try {
|
||||||
const response = await riskMgtApi.msgIntrcpList(this.row);
|
const response = await riskMgtApi.msgIntrcpList(this.row);
|
||||||
@@ -154,7 +149,7 @@ export default {
|
|||||||
this.$parent.msgAlertModalOpen(this.row);
|
this.$parent.msgAlertModalOpen(this.row);
|
||||||
}
|
}
|
||||||
this.toComplete();
|
this.toComplete();
|
||||||
} catch(err) {
|
} catch (err) {
|
||||||
this.row.title = '메세지 차단';
|
this.row.title = '메세지 차단';
|
||||||
this.row.msg1 = '실패하였습니다.';
|
this.row.msg1 = '실패하였습니다.';
|
||||||
this.$parent.msgAlertModalOpen(this.row);
|
this.$parent.msgAlertModalOpen(this.row);
|
||||||
@@ -162,8 +157,8 @@ export default {
|
|||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
|
|
||||||
doValidate(){
|
doValidate() {
|
||||||
if(this.isNull(this.msgBlckwordList)){
|
if (this.isNull(this.msgBlckwordList)) {
|
||||||
this.row.title = '메세지 차단';
|
this.row.title = '메세지 차단';
|
||||||
this.row.msg1 = '문구를 입력해주세요.';
|
this.row.msg1 = '문구를 입력해주세요.';
|
||||||
this.$parent.msgAlertModalOpen(this.row);
|
this.$parent.msgAlertModalOpen(this.row);
|
||||||
@@ -180,20 +175,20 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
toComplete(){
|
toComplete() {
|
||||||
this.$parent.$refs.table.reloadData();
|
this.$parent.$refs.table.reloadData();
|
||||||
this.ModalClose();
|
this.ModalClose();
|
||||||
},
|
},
|
||||||
//신규등록 팝업에서 문구 추가 버튼
|
//신규등록 팝업에서 문구 추가 버튼
|
||||||
doAdd: function() {
|
doAdd: function () {
|
||||||
if(this.isNull(this.word)){
|
if (this.isNull(this.word)) {
|
||||||
this.row.title = '메세지 차단';
|
this.row.title = '메세지 차단';
|
||||||
this.row.msg1 = '문구를 입력해주세요.';
|
this.row.msg1 = '문구를 입력해주세요.';
|
||||||
this.$parent.msgAlertModalOpen(this.row);
|
this.$parent.msgAlertModalOpen(this.row);
|
||||||
this.$refs._word.focus();
|
this.$refs._word.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(this.msgBlckwordList.length < 10){
|
if (this.msgBlckwordList.length < 10) {
|
||||||
this.msgBlckwordList.push({
|
this.msgBlckwordList.push({
|
||||||
//seqNo: '',
|
//seqNo: '',
|
||||||
word: this.word
|
word: this.word
|
||||||
@@ -202,22 +197,22 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
//신규등록 팝업에서 문구 삭제 버튼
|
//신규등록 팝업에서 문구 삭제 버튼
|
||||||
doDel(item, i){
|
doDel(item, i) {
|
||||||
localStorage.removeItem(item);
|
localStorage.removeItem(item);
|
||||||
this.msgBlckwordList.splice(i, 1);
|
this.msgBlckwordList.splice(i, 1);
|
||||||
},
|
},
|
||||||
formReset(){
|
formReset() {
|
||||||
var type= this.insertType;
|
var type = this.insertType;
|
||||||
Object.assign(this.$data, this.$options.data());
|
Object.assign(this.$data, this.$options.data());
|
||||||
this.insertType = type;
|
this.insertType = type;
|
||||||
},
|
},
|
||||||
regisConfirm(){
|
regisConfirm() {
|
||||||
if(this.doValidate()){
|
if (this.doValidate()) {
|
||||||
this.$refs.ValidationConfirmPopup.msgConfirmInsertOpen();
|
this.$refs.ValidationConfirmPopup.msgConfirmInsertOpen();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,24 +1,24 @@
|
|||||||
import lodash from "lodash";
|
import lodash from "lodash";
|
||||||
|
|
||||||
const utils_mixin = {
|
const utils_mixin = {
|
||||||
methods:{
|
methods: {
|
||||||
/** * 이메일 형식 체크 * * @param 데이터 */
|
/** * 이메일 형식 체크 * * @param 데이터 */
|
||||||
emailCheck(email,rtnArrYn) {
|
emailCheck(email, rtnArrYn) {
|
||||||
if(this.isNull(rtnArrYn)){
|
if (this.isNull(rtnArrYn)) {
|
||||||
rtnArrYn='N';
|
rtnArrYn = 'N';
|
||||||
}
|
}
|
||||||
// var regExp = /(^[A-Za-z0-9_\.\-]+)@([A-Za-z0-9\-]+\.[A-Za-z0-9\-]+)/;
|
// var regExp = /(^[A-Za-z0-9_\.\-]+)@([A-Za-z0-9\-]+\.[A-Za-z0-9\-]+)/;
|
||||||
var regExp = /^([0-9a-zA-Z_\.\-]([-_.]?[0-9a-zA-Z_\.\-])*)@([0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$)/i;//이메일 정규식
|
var regExp = /^([0-9a-zA-Z_\.\-]([-_.]?[0-9a-zA-Z_\.\-])*)@([0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$)/i;//이메일 정규식
|
||||||
|
|
||||||
if(regExp.test(email) == false) {
|
if (regExp.test(email) == false) {
|
||||||
// 이메일 형식이 알파벳+숫자@알파벳+숫자.알파벳+숫자 형식이 아닐경우
|
// 이메일 형식이 알파벳+숫자@알파벳+숫자.알파벳+숫자 형식이 아닐경우
|
||||||
if(rtnArrYn == 'Y'){
|
if (rtnArrYn == 'Y') {
|
||||||
return email;
|
return email;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}else{
|
} else {
|
||||||
var myArray = regExp.exec(email);
|
var myArray = regExp.exec(email);
|
||||||
if(rtnArrYn == 'Y'){
|
if (rtnArrYn == 'Y') {
|
||||||
return myArray;
|
return myArray;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@@ -26,30 +26,30 @@ const utils_mixin = {
|
|||||||
|
|
||||||
},
|
},
|
||||||
/** * 전화번호 포맷으로 변환 * * @param 데이터 */
|
/** * 전화번호 포맷으로 변환 * * @param 데이터 */
|
||||||
formatPhone(phoneNum,fmt,rtnArrYn) {
|
formatPhone(phoneNum, fmt, rtnArrYn) {
|
||||||
if(this.isNull(fmt)){
|
if (this.isNull(fmt)) {
|
||||||
fmt='';
|
fmt = '';
|
||||||
}
|
}
|
||||||
if(this.isNull(rtnArrYn)){
|
if (this.isNull(rtnArrYn)) {
|
||||||
fmt='N';
|
fmt = 'N';
|
||||||
}
|
}
|
||||||
if(this.isPhone(phoneNum)) {
|
if (this.isPhone(phoneNum)) {
|
||||||
var rtnNum;
|
var rtnNum;
|
||||||
var regExp =/(02)([0-9]{3,4})([0-9]{4})$/;
|
var regExp = /(02)([0-9]{3,4})([0-9]{4})$/;
|
||||||
var myArray;
|
var myArray;
|
||||||
if(regExp.test(phoneNum)){
|
if (regExp.test(phoneNum)) {
|
||||||
myArray = regExp.exec(phoneNum);
|
myArray = regExp.exec(phoneNum);
|
||||||
rtnNum = myArray[1]+fmt + myArray[2]+fmt+myArray[3];
|
rtnNum = myArray[1] + fmt + myArray[2] + fmt + myArray[3];
|
||||||
if(rtnArrYn == 'Y'){
|
if (rtnArrYn == 'Y') {
|
||||||
return myArray;
|
return myArray;
|
||||||
}
|
}
|
||||||
return rtnNum;
|
return rtnNum;
|
||||||
} else {
|
} else {
|
||||||
regExp =/(0[3-9]{1}[0-9]{1})([0-9]{3,4})([0-9]{4})$/;
|
regExp = /(0[3-9]{1}[0-9]{1})([0-9]{3,4})([0-9]{4})$/;
|
||||||
if(regExp.test(phoneNum)){
|
if (regExp.test(phoneNum)) {
|
||||||
myArray = regExp.exec(phoneNum);
|
myArray = regExp.exec(phoneNum);
|
||||||
rtnNum = myArray[1]+fmt+myArray[2]+fmt+myArray[3];
|
rtnNum = myArray[1] + fmt + myArray[2] + fmt + myArray[3];
|
||||||
if(rtnArrYn == 'Y'){
|
if (rtnArrYn == 'Y') {
|
||||||
return myArray;
|
return myArray;
|
||||||
}
|
}
|
||||||
return rtnNum;
|
return rtnNum;
|
||||||
@@ -62,25 +62,25 @@ const utils_mixin = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
/** * 핸드폰번호 포맷으로 변환 * * @param 데이터 */
|
/** * 핸드폰번호 포맷으로 변환 * * @param 데이터 */
|
||||||
formatMobile(phoneNum,fmt,rtnArrYn) {
|
formatMobile(phoneNum, fmt, rtnArrYn) {
|
||||||
|
|
||||||
if(this.isNull(fmt)){
|
if (this.isNull(fmt)) {
|
||||||
fmt='';
|
fmt = '';
|
||||||
}
|
}
|
||||||
if(this.isNull(rtnArrYn)){
|
if (this.isNull(rtnArrYn)) {
|
||||||
fmt='N';
|
fmt = 'N';
|
||||||
}
|
}
|
||||||
if(this.isMobile(phoneNum)) {
|
if (this.isMobile(phoneNum)) {
|
||||||
|
|
||||||
var rtnNum;
|
var rtnNum;
|
||||||
var regExp =/(01[016789])([0-9]{3,4})([0-9]{4})$/;
|
var regExp = /(01[016789])([0-9]{3,4})([0-9]{4})$/;
|
||||||
var myArray;
|
var myArray;
|
||||||
|
|
||||||
if(regExp.test(phoneNum)){
|
if (regExp.test(phoneNum)) {
|
||||||
|
|
||||||
myArray = regExp.exec(phoneNum);
|
myArray = regExp.exec(phoneNum);
|
||||||
rtnNum = myArray[1]+fmt+myArray[2]+fmt+myArray[3];
|
rtnNum = myArray[1] + fmt + myArray[2] + fmt + myArray[3];
|
||||||
if(rtnArrYn == 'Y'){
|
if (rtnArrYn == 'Y') {
|
||||||
return myArray;
|
return myArray;
|
||||||
}
|
}
|
||||||
return rtnNum;
|
return rtnNum;
|
||||||
@@ -94,12 +94,12 @@ const utils_mixin = {
|
|||||||
|
|
||||||
/** * 전화번호 형식 체크 * * @param 데이터 */
|
/** * 전화번호 형식 체크 * * @param 데이터 */
|
||||||
isPhone(phoneNum) {
|
isPhone(phoneNum) {
|
||||||
var regExp =/(02)([0-9]{3,4})([0-9]{4})$/;
|
var regExp = /(02)([0-9]{3,4})([0-9]{4})$/;
|
||||||
if(regExp.test(phoneNum)){
|
if (regExp.test(phoneNum)) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
regExp =/(0[3-9]{1}[0-9]{1})([0-9]{3,4})([0-9]{4})$/;
|
regExp = /(0[3-9]{1}[0-9]{1})([0-9]{3,4})([0-9]{4})$/;
|
||||||
if(regExp.test(phoneNum)){
|
if (regExp.test(phoneNum)) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
@@ -109,9 +109,9 @@ const utils_mixin = {
|
|||||||
|
|
||||||
/** * 핸드폰번호 형식 체크 * * @param 데이터 */
|
/** * 핸드폰번호 형식 체크 * * @param 데이터 */
|
||||||
isMobile(phoneNum) {
|
isMobile(phoneNum) {
|
||||||
var regExp =/(01[016789])([0-9]{3,4})([0-9]{4})$/;
|
var regExp = /(01[016789])([0-9]{3,4})([0-9]{4})$/;
|
||||||
var myArray;
|
var myArray;
|
||||||
if(regExp.test(phoneNum)){
|
if (regExp.test(phoneNum)) {
|
||||||
myArray = regExp.exec(phoneNum);
|
myArray = regExp.exec(phoneNum);
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
@@ -119,9 +119,9 @@ const utils_mixin = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
isMobile2(phoneNum) {
|
isMobile2(phoneNum) {
|
||||||
var regExp =/(1[016789])([0-9]{3,4})([0-9]{4})$/;
|
var regExp = /(1[016789])([0-9]{3,4})([0-9]{4})$/;
|
||||||
var myArray;
|
var myArray;
|
||||||
if(regExp.test(phoneNum)){
|
if (regExp.test(phoneNum)) {
|
||||||
myArray = regExp.exec(phoneNum);
|
myArray = regExp.exec(phoneNum);
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
@@ -129,48 +129,47 @@ const utils_mixin = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
isNull(obj){
|
isNull(obj) {
|
||||||
if(lodash.isNil(obj) || lodash.trim(obj) == ''){
|
if (lodash.isNil(obj) || lodash.trim(obj) == '') {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
getParent(name){
|
getParent(name) {
|
||||||
let p = this.$parent;
|
let p = this.$parent;
|
||||||
while(typeof p !== 'undefined'){
|
while (typeof p !== 'undefined') {
|
||||||
if(p.$options.name == name) {
|
if (p.$options.name == name) {
|
||||||
return p;
|
return p;
|
||||||
}else {
|
} else {
|
||||||
p = p.$parent;
|
p = p.$parent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
getJsonObj(str){
|
getJsonObj(str) {
|
||||||
return JSON.parse(JSON.stringify(str));
|
return JSON.parse(JSON.stringify(str));
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var chkPattern2 = {
|
var chkPattern2 = {
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {}
|
||||||
}
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
selSesStorage(keyLike){
|
selSesStorage(keyLike) {
|
||||||
if(this.isNull(keyLike)){
|
if (this.isNull(keyLike)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if(sessionStorage.length > 0){
|
if (sessionStorage.length > 0) {
|
||||||
let keyList = [];
|
let keyList = [];
|
||||||
for(let i=0;i<sessionStorage.length;i++){
|
for (let i = 0; i < sessionStorage.length; i++) {
|
||||||
const keyNm = sessionStorage.key(i);
|
const keyNm = sessionStorage.key(i);
|
||||||
if(keyNm.indexOf(keyLike) > -1){
|
if (keyNm.indexOf(keyLike) > -1) {
|
||||||
keyList.push({name : keyNm, value : sessionStorage.getItem(keyNm)});
|
keyList.push({name: keyNm, value: sessionStorage.getItem(keyNm)});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(keyList.length > 0){
|
if (keyList.length > 0) {
|
||||||
return keyList;
|
return keyList;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
@@ -178,46 +177,46 @@ const utils_mixin = {
|
|||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
|
|
||||||
delSesStorage(keyList){
|
delSesStorage(keyList) {
|
||||||
if(this.isNull(keyList)){
|
if (this.isNull(keyList)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if(keyList.length > 0){
|
if (keyList.length > 0) {
|
||||||
keyList.map((o) => (sessionStorage.removeItem(o.name)));
|
keyList.map((o) => (sessionStorage.removeItem(o.name)));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
setGridMouseDownActive(){
|
setGridMouseDownActive() {
|
||||||
const ele = document.querySelector(`div.tui-grid-container.tui-grid-show-lside-area`);
|
const ele = document.querySelector(`div.tui-grid-container.tui-grid-show-lside-area`);
|
||||||
if(window.getEventListeners(ele).mousedown){
|
if (window.getEventListeners(ele).mousedown) {
|
||||||
ele.removeEventListener('mousedown',window.getEventListeners(ele).mousedown[0].listener);
|
ele.removeEventListener('mousedown', window.getEventListeners(ele).mousedown[0].listener);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
restrictChars : function($event,regExp,hanYn){
|
restrictChars: function ($event, regExp, hanYn) {
|
||||||
|
|
||||||
if(this.isNull(hanYn)){
|
if (this.isNull(hanYn)) {
|
||||||
hanYn='N';
|
hanYn = 'N';
|
||||||
}
|
}
|
||||||
if(hanYn === 'N' && $event.type === 'keydown'){
|
if (hanYn === 'N' && $event.type === 'keydown') {
|
||||||
if($event.keyCode === 229){
|
if ($event.keyCode === 229) {
|
||||||
$event.preventDefault();
|
$event.preventDefault();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($event.type === 'keypress'){
|
if ($event.type === 'keypress') {
|
||||||
//한글 처리 불가
|
//한글 처리 불가
|
||||||
if(regExp.test(String.fromCharCode($event.charCode))) {
|
if (regExp.test(String.fromCharCode($event.charCode))) {
|
||||||
return true;
|
return true;
|
||||||
}else{
|
} else {
|
||||||
$event.preventDefault();
|
$event.preventDefault();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(hanYn === 'N' && ( $event.type === 'keyup' || $event.type === 'input' || $event.type === 'change' || $event.type === 'blur')){
|
if (hanYn === 'N' && ($event.type === 'keyup' || $event.type === 'input' || $event.type === 'change' || $event.type === 'blur')) {
|
||||||
$event.target.value = $event.target.value.replace(/[ㄱ-ㅎㅏ-ㅣ가-힣]/g,'');
|
$event.target.value = $event.target.value.replace(/[ㄱ-ㅎㅏ-ㅣ가-힣]/g, '');
|
||||||
$event.preventDefault();
|
$event.preventDefault();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -226,24 +225,24 @@ const utils_mixin = {
|
|||||||
setLenth: function (e, len) {
|
setLenth: function (e, len) {
|
||||||
this.cut(e, len);
|
this.cut(e, len);
|
||||||
},
|
},
|
||||||
onlyCustom: function (e,strRegExp,hanYn) {
|
onlyCustom: function (e, strRegExp, hanYn) {
|
||||||
var regExp_g = new RegExp(strRegExp,'g');
|
var regExp_g = new RegExp(strRegExp, 'g');
|
||||||
this.cut(e);
|
this.cut(e);
|
||||||
return this.restrictChars(e,regExp_g,hanYn);
|
return this.restrictChars(e, regExp_g, hanYn);
|
||||||
},
|
},
|
||||||
onlyCommon: function(strRegExp, e, len, isEventCall, hanYn) {
|
onlyCommon: function (strRegExp, e, len, isEventCall, hanYn) {
|
||||||
var regExp_g = new RegExp(strRegExp,'g');
|
var regExp_g = new RegExp(strRegExp, 'g');
|
||||||
if(isEventCall === 'N'){
|
if (isEventCall === 'N') {
|
||||||
if(!this.cut(e, len, isEventCall)){
|
if (!this.cut(e, len, isEventCall)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(!regExp_g.test(e.value)){
|
if (!regExp_g.test(e.value)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
this.cut(e, len);
|
this.cut(e, len);
|
||||||
return this.restrictChars(e,regExp_g,hanYn);
|
return this.restrictChars(e, regExp_g, hanYn);
|
||||||
},
|
},
|
||||||
onlyNum: function (e, len, isEventCall) {
|
onlyNum: function (e, len, isEventCall) {
|
||||||
var strRegExp = '^[0-9]*$';
|
var strRegExp = '^[0-9]*$';
|
||||||
@@ -267,15 +266,15 @@ const utils_mixin = {
|
|||||||
},
|
},
|
||||||
onlyName: function (e, len, isEventCall) {
|
onlyName: function (e, len, isEventCall) {
|
||||||
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z]*$';
|
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z]*$';
|
||||||
return this.onlyCommon(strRegExp, e, len, isEventCall,'Y');
|
return this.onlyCommon(strRegExp, e, len, isEventCall, 'Y');
|
||||||
},
|
},
|
||||||
onlyTitle: function (e, len, isEventCall) {
|
onlyTitle: function (e, len, isEventCall) {
|
||||||
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]*$';
|
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]*$';
|
||||||
return this.onlyCommon(strRegExp, e, len, isEventCall,'Y');
|
return this.onlyCommon(strRegExp, e, len, isEventCall, 'Y');
|
||||||
},
|
},
|
||||||
onlyText: function (e, len, isEventCall) {
|
onlyText: function (e, len, isEventCall) {
|
||||||
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9_-]*$';
|
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9_-]*$';
|
||||||
return this.onlyCommon(strRegExp, e, len, isEventCall,'Y');
|
return this.onlyCommon(strRegExp, e, len, isEventCall, 'Y');
|
||||||
},
|
},
|
||||||
onlyPassword: function (e, len, isEventCall) {
|
onlyPassword: function (e, len, isEventCall) {
|
||||||
var strRegExp = '^[A-Za-z0-9!@#$%^&*]*$';
|
var strRegExp = '^[A-Za-z0-9!@#$%^&*]*$';
|
||||||
@@ -291,22 +290,22 @@ const utils_mixin = {
|
|||||||
},
|
},
|
||||||
onlyRoleNm_Space: function (e, len, isEventCall) {
|
onlyRoleNm_Space: function (e, len, isEventCall) {
|
||||||
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]*$';
|
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]*$';
|
||||||
return this.onlyCommon(strRegExp, e, len, isEventCall,'Y');
|
return this.onlyCommon(strRegExp, e, len, isEventCall, 'Y');
|
||||||
},
|
},
|
||||||
onlyRoleId_UnderBar: function (e, len, isEventCall) {
|
onlyRoleId_UnderBar: function (e, len, isEventCall) {
|
||||||
var strRegExp = '^[a-zA-Z0-9_]*$';
|
var strRegExp = '^[a-zA-Z0-9_]*$';
|
||||||
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
||||||
},
|
},
|
||||||
cut: function (ele, len, isValidChk) {
|
cut: function (ele, len, isValidChk) {
|
||||||
let e=ele;
|
let e = ele;
|
||||||
if (typeof ele.target != "undefined") {
|
if (typeof ele.target != "undefined") {
|
||||||
e=ele.target;
|
e = ele.target;
|
||||||
}
|
}
|
||||||
let max = this.isNull(len) ? e.attributes.maxlength.value : len;
|
let max = this.isNull(len) ? e.attributes.maxlength.value : len;
|
||||||
let str = e.value;
|
let str = e.value;
|
||||||
|
|
||||||
if (this.bytes(str) > max) {
|
if (this.bytes(str) > max) {
|
||||||
if(this.isNull(isValidChk)){
|
if (this.isNull(isValidChk)) {
|
||||||
e.value = this.cutBytes(str, max);
|
e.value = this.cutBytes(str, max);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -314,19 +313,19 @@ const utils_mixin = {
|
|||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
cutBytes: function (str, len) {
|
cutBytes: function (str, len) {
|
||||||
while(1 === 1){
|
while (1 === 1) {
|
||||||
if(this.bytes(str) <= len){
|
if (this.bytes(str) <= len) {
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
str = str.slice(0,-1);
|
str = str.slice(0, -1);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
bytes: function (str) {
|
bytes: function (str) {
|
||||||
var length = ((s,b,i,c) => {
|
var length = ((s, b, i, c) => {
|
||||||
// for(b=i=0;c=s.charCodeAt(i++);b+=c>>11?3:c>>7?2:1); // 한글 3바이트
|
// for(b=i=0;c=s.charCodeAt(i++);b+=c>>11?3:c>>7?2:1); // 한글 3바이트
|
||||||
// for(b=i=0;c=s.charCodeAt(i++);b+=c>>11?2:c>>7?1:1); //한글 2바이트
|
// for(b=i=0;c=s.charCodeAt(i++);b+=c>>11?2:c>>7?1:1); //한글 2바이트
|
||||||
b=0,i=0;
|
b = 0, i = 0;
|
||||||
while(1 === 1){
|
while (1 === 1) {
|
||||||
c = s.charCodeAt(i++);
|
c = s.charCodeAt(i++);
|
||||||
if (isNaN(c)) {
|
if (isNaN(c)) {
|
||||||
break;
|
break;
|
||||||
@@ -337,17 +336,23 @@ const utils_mixin = {
|
|||||||
})(str);
|
})(str);
|
||||||
return length;
|
return length;
|
||||||
},
|
},
|
||||||
checkPhone: function(str) {
|
checkPhone: function (str) {
|
||||||
str = str.replace(/[-\s]+/g, '');
|
str = str.replace(/[-\s]+/g, '');
|
||||||
if (str.charAt(0)!="0"){
|
if (str.charAt(0) != "0") {
|
||||||
str = "0"+str;
|
str = "0" + str;
|
||||||
|
}
|
||||||
|
if (str.length < 10 || str.length > 12) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
if (isNaN(str)) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
if (str.substr(0, 2) != "01" && str.substr(0, 3) != "070" && str.substr(0, 4) != "0505" && str.substr(0, 4) != "0503") {
|
||||||
|
return "";
|
||||||
}
|
}
|
||||||
if (str.length<10||str.length>12){return "";}
|
|
||||||
if (isNaN(str)){return ""; }
|
|
||||||
if (str.substr(0,2)!="01" && str.substr(0,3)!="070" && str.substr(0,4)!="0505" && str.substr(0,4)!="0503"){return ""; }
|
|
||||||
return str;
|
return str;
|
||||||
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
export { utils_mixin, chkPattern2 };
|
export {utils_mixin, chkPattern2};
|
||||||
@@ -7,7 +7,6 @@
|
|||||||
<h3 class="title">웹발송 차단내역</h3>
|
<h3 class="title">웹발송 차단내역</h3>
|
||||||
<p class="breadcrumb">리스크관리 > 차단 내역</p>
|
<p class="breadcrumb">리스크관리 > 차단 내역</p>
|
||||||
</div>
|
</div>
|
||||||
<form autocomplete="off" class="search_form">
|
|
||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<label for="right" class="label">발송일</label>
|
<label for="right" class="label">발송일</label>
|
||||||
<div class="group">
|
<div class="group">
|
||||||
@@ -18,13 +17,6 @@
|
|||||||
v-model="startDate"
|
v-model="startDate"
|
||||||
@selected="selectedStartDate(0)"
|
@selected="selectedStartDate(0)"
|
||||||
></vuejs-datepicker>
|
></vuejs-datepicker>
|
||||||
<!-- <input class="" type="text" id=""
|
|
||||||
placeholder="2022-10-12"
|
|
||||||
v-model="grid.params.startDt"
|
|
||||||
@click="openStartPicker = true" />
|
|
||||||
<div v-show="openStartPicker === true">
|
|
||||||
<calendar ref="calendar"/> -->
|
|
||||||
<!-- </div> -->
|
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey btn-a" @click="todayDate">오늘</button>
|
<button type="button" class="button grey btn-a" @click="todayDate">오늘</button>
|
||||||
<div class="select_box id">
|
<div class="select_box id">
|
||||||
@@ -52,11 +44,13 @@
|
|||||||
<div class="group">
|
<div class="group">
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="right" class="label">발신번호</label>
|
<label for="right" class="label">발신번호</label>
|
||||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.sndrno" v-on:keyup="onlyNum" @input="onlyNum" maxlength="12">
|
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model.trim="grid.params.sndrno"
|
||||||
|
@keypress="onlyNum" @input="onlyNum" maxlength="11">
|
||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="right" class="label">수신번호</label>
|
<label for="right" class="label">수신번호</label>
|
||||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.rcvno" v-on:keyup="onlyNum" @input="onlyNum" maxlength="12">
|
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model.trim="grid.params.rcvno"
|
||||||
|
@keypress="onlyNum" @input="onlyNum" maxlength="11">
|
||||||
</div>
|
</div>
|
||||||
<div class="select_box">
|
<div class="select_box">
|
||||||
<label for="right" class="label">상세검색</label>
|
<label for="right" class="label">상세검색</label>
|
||||||
@@ -67,17 +61,20 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText1">
|
<input class="search-box" type="text" id="search" placeholder="검색어 입력"
|
||||||
|
v-model.trim="grid.params.searchText1" maxlength="100">
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||||
<div class="select_box NumberSe">
|
<div class="select_box NumberSe">
|
||||||
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
||||||
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{ option.text }}</option>
|
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{
|
||||||
|
option.text
|
||||||
|
}}
|
||||||
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -98,7 +95,7 @@
|
|||||||
</custom-grid>
|
</custom-grid>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<common-modal ref="commmonModal"></common-modal>
|
<common-modal ref="commmonModal"></common-modal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -106,7 +103,7 @@
|
|||||||
import customGrid from '@/components/CustomGrid';
|
import customGrid from '@/components/CustomGrid';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import commonModal from "@/components/modal/commonModal";
|
import commonModal from "@/components/modal/commonModal";
|
||||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||||
|
|
||||||
//import api from '../service/api';
|
//import api from '../service/api';
|
||||||
class CustomATagRenderer {
|
class CustomATagRenderer {
|
||||||
@@ -115,7 +112,7 @@ class CustomATagRenderer {
|
|||||||
const el = document.createElement('a');
|
const el = document.createElement('a');
|
||||||
el.href = 'javascript:void(0);';
|
el.href = 'javascript:void(0);';
|
||||||
el.className = 'btn_text';
|
el.className = 'btn_text';
|
||||||
el.innerText= String(props.colValue)
|
el.innerText = String(props.colValue)
|
||||||
this.el = el;
|
this.el = el;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -125,11 +122,12 @@ class CustomATagRenderer {
|
|||||||
|
|
||||||
addEvent(selEl) {
|
addEvent(selEl) {
|
||||||
selEl.addEventListener("click", () => {
|
selEl.addEventListener("click", () => {
|
||||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
const {callback} = this.props["cgrido" + this.props.colName].options;
|
||||||
callback(this.props);
|
callback(this.props);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'intrcpList',
|
name: 'intrcpList',
|
||||||
mixins: [utils_mixin, chkPattern2],
|
mixins: [utils_mixin, chkPattern2],
|
||||||
@@ -144,16 +142,16 @@ export default {
|
|||||||
startDate: new Date(),
|
startDate: new Date(),
|
||||||
endDate: new Date(),
|
endDate: new Date(),
|
||||||
options: [
|
options: [
|
||||||
{ text: '20', value: 20},
|
{text: '20', value: 20},
|
||||||
{ text: '50', value: 50},
|
{text: '50', value: 50},
|
||||||
{ text: '100', value: 100}
|
{text: '100', value: 100}
|
||||||
],
|
],
|
||||||
statType: [],
|
statType: [],
|
||||||
userType: [],
|
userType: [],
|
||||||
blckRsnCd:'',
|
blckRsnCd: '',
|
||||||
blckTpCd:'',
|
blckTpCd: '',
|
||||||
searchType1:'01',
|
searchType1: '01',
|
||||||
row:{},
|
row: {},
|
||||||
grid: {
|
grid: {
|
||||||
url: '/api/v1/bo/riskMgt/web/intrcpList',
|
url: '/api/v1/bo/riskMgt/web/intrcpList',
|
||||||
perPage: 20,
|
perPage: 20,
|
||||||
@@ -164,33 +162,35 @@ export default {
|
|||||||
addCls: 'box_OFvis',
|
addCls: 'box_OFvis',
|
||||||
header: [
|
header: [
|
||||||
[
|
[
|
||||||
{ header: 'NO', childNames: [] },
|
{header: 'NO', childNames: []},
|
||||||
{ header: '차단구분', childNames: [] },
|
{header: '차단구분', childNames: []},
|
||||||
{ header: '발송ID', childNames: [] },
|
{header: '발송ID', childNames: []},
|
||||||
{ header: '발신번호', childNames: [] },
|
{header: '발신번호', childNames: []},
|
||||||
{ header: '고객사명', childNames: [] },
|
{header: '고객사명', childNames: []},
|
||||||
{ header: '사업자번호', childNames: [] },
|
{header: '사업자번호', childNames: []},
|
||||||
{ header: '수신번호', childNames: [] },
|
{header: '수신번호', childNames: []},
|
||||||
{ header: '차단사유', childNames: [] },
|
{header: '차단사유', childNames: []},
|
||||||
{ header: '발송일자', childNames: [] }
|
{header: '발송일자', childNames: []}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
{name: 'no', header: 'NO', align: 'center', width: '5%'},
|
||||||
{ name: 'blckTpCd', header: '차단구분', align: 'center', width: '11%' },
|
{name: 'blckTpCd', header: '차단구분', align: 'center', width: '11%'},
|
||||||
{ name: 'userId', header: '발송ID', align: 'center', width: '11%'},
|
{name: 'userId', header: '발송ID', align: 'center', width: '11%'},
|
||||||
{ name: 'sndrno', header: '발신번호', align: 'center', width: '11%'},
|
{name: 'sndrno', header: '발신번호', align: 'center', width: '11%'},
|
||||||
{ name: 'custNm', header: '고객사명', align: 'center', width: '11%', renderer: {
|
{
|
||||||
|
name: 'custNm', header: '고객사명', align: 'center', width: '11%', renderer: {
|
||||||
type: CustomATagRenderer
|
type: CustomATagRenderer
|
||||||
, options: {
|
, options: {
|
||||||
callback: this.custDetail,
|
callback: this.custDetail,
|
||||||
}
|
}
|
||||||
}},
|
}
|
||||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: '11%'},
|
},
|
||||||
{ name: 'rcvno', header: '수신번호', align: 'center', width: '11%' },
|
{name: 'bizrno', header: '사업자번호', align: 'center', width: '11%'},
|
||||||
{ name: 'blckRsnCd', header: '차단사유', align: 'center', width: '7%' },
|
{name: 'rcvno', header: '수신번호', align: 'center', width: '11%'},
|
||||||
{ name: 'blckDt', header: '발송일자', align: 'center', width: '11%' },
|
{name: 'blckRsnCd', header: '차단사유', align: 'center', width: '7%'},
|
||||||
|
{name: 'blckDt', header: '발송일자', align: 'center', width: '11%'},
|
||||||
|
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
@@ -229,7 +229,7 @@ export default {
|
|||||||
});
|
});
|
||||||
this.startDate = '';
|
this.startDate = '';
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
},
|
},
|
||||||
@@ -238,7 +238,7 @@ export default {
|
|||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
|
|
||||||
let isKeep = false;
|
let isKeep = false;
|
||||||
if(getCondition) {
|
if (getCondition) {
|
||||||
this.grid.pagePerRows = getCondition.perPage;
|
this.grid.pagePerRows = getCondition.perPage;
|
||||||
this.grid.params = getCondition.params;
|
this.grid.params = getCondition.params;
|
||||||
page = getCondition.page;
|
page = getCondition.page;
|
||||||
@@ -247,7 +247,7 @@ export default {
|
|||||||
this.search(isKeep);
|
this.search(isKeep);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
this.grid.params.blckDt = moment(this.startDate).format('YYYYMMDD');
|
this.grid.params.blckDt = moment(this.startDate).format('YYYYMMDD');
|
||||||
this.grid.params.blckTpCd = this.blckTpCd
|
this.grid.params.blckTpCd = this.blckTpCd
|
||||||
@@ -256,7 +256,7 @@ export default {
|
|||||||
this.$refs.table.search(this.grid.params, isKeep);
|
this.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
console.log("==========getP : " + getP);
|
console.log("==========getP : " + getP);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -294,7 +294,7 @@ export default {
|
|||||||
}
|
}
|
||||||
console.log(this.startDate);
|
console.log(this.startDate);
|
||||||
},
|
},
|
||||||
customFormatter: function(date) {
|
customFormatter: function (date) {
|
||||||
if (this.sDateDiv == 'month') {
|
if (this.sDateDiv == 'month') {
|
||||||
return moment(date).format('YYYY-MM');
|
return moment(date).format('YYYY-MM');
|
||||||
} else if (this.sDateDiv == 'year') {
|
} else if (this.sDateDiv == 'year') {
|
||||||
@@ -307,13 +307,13 @@ export default {
|
|||||||
custDetail(props) {
|
custDetail(props) {
|
||||||
//this.row.custNm = props.serviceId;
|
//this.row.custNm = props.serviceId;
|
||||||
this.row.serviceId = props.serviceId;
|
this.row.serviceId = props.serviceId;
|
||||||
this.$router.push({ name: 'subsDetail', params: this.row });
|
this.$router.push({name: 'subsDetail', params: this.row});
|
||||||
},
|
},
|
||||||
calendarCalbackFnc(year, month, day){
|
calendarCalbackFnc(year, month, day) {
|
||||||
|
|
||||||
if(this.openStartPicker){
|
if (this.openStartPicker) {
|
||||||
this.startDate= year +''+ month +''+ day
|
this.startDate = year + '' + month + '' + day
|
||||||
if(Number(this.endDate) < Number(this.startDate) && this.endDate !== 0){
|
if (Number(this.endDate) < Number(this.startDate) && this.endDate !== 0) {
|
||||||
this.row.title = '청약고객관리';
|
this.row.title = '청약고객관리';
|
||||||
this.row.msg1 = '조회 시작일이 종료일보다 큽니다.';
|
this.row.msg1 = '조회 시작일이 종료일보다 큽니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
@@ -323,9 +323,9 @@ export default {
|
|||||||
this.grid.params.startDt = year + '-' + month + '-' + day
|
this.grid.params.startDt = year + '-' + month + '-' + day
|
||||||
this.openStartPicker = false
|
this.openStartPicker = false
|
||||||
}
|
}
|
||||||
if(this.openEndPicker){
|
if (this.openEndPicker) {
|
||||||
this.endDate=year +''+ month +''+ day
|
this.endDate = year + '' + month + '' + day
|
||||||
if(Number(this.endDate) < Number(this.startDate) && this.startDate !== 0){
|
if (Number(this.endDate) < Number(this.startDate) && this.startDate !== 0) {
|
||||||
this.row.title = '청약고객관리';
|
this.row.title = '청약고객관리';
|
||||||
this.row.msg1 = '조회 종료일이 시작일보다 작습니다.';
|
this.row.msg1 = '조회 종료일이 시작일보다 작습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
|
|||||||
@@ -6,12 +6,12 @@
|
|||||||
<h3 class="title">발신번호 차단</h3>
|
<h3 class="title">발신번호 차단</h3>
|
||||||
<p class="breadcrumb">리스크관리 > 발신번호 차단</p>
|
<p class="breadcrumb">리스크관리 > 발신번호 차단</p>
|
||||||
</div>
|
</div>
|
||||||
<form autocomplete="off" class="search_form">
|
|
||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="group">
|
<div class="group">
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="regId" class="label">등록자</label>
|
<label for="regId" class="label">등록자</label>
|
||||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.regId" v-on:keydown.enter.prevent="search" v-on:keyup="onlyEng" @input="onlyEng" maxlength="20" />
|
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model.trim="grid.params.regId"
|
||||||
|
v-on:keydown.enter.prevent="search" v-on:keyup="onlyEng" @input="onlyEng" maxlength="20"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="select_box">
|
<div class="select_box">
|
||||||
<label for="blckRsnCd" class="label">차단사유</label>
|
<label for="blckRsnCd" class="label">차단사유</label>
|
||||||
@@ -46,17 +46,20 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="right" class="label">발신번호</label>
|
<label for="right" class="label">발신번호</label>
|
||||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.blckSndrno">
|
<input class="search-box" type="text" id="search" placeholder="검색어 입력"
|
||||||
|
v-model.trim="grid.params.blckSndrno">
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||||
<div class="select_box NumberSe">
|
<div class="select_box NumberSe">
|
||||||
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
||||||
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{ option.text }}</option>
|
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{
|
||||||
|
option.text
|
||||||
|
}}
|
||||||
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -80,11 +83,11 @@
|
|||||||
:header="grid.headder"
|
:header="grid.headder"
|
||||||
></custom-grid>
|
></custom-grid>
|
||||||
</div>
|
</div>
|
||||||
<insert-intrcp-pop ref="insertIntrcpPop"> </insert-intrcp-pop>
|
</div>
|
||||||
|
<insert-intrcp-pop ref="insertIntrcpPop"></insert-intrcp-pop>
|
||||||
<intrcp-detail-popup ref="intrcpDetailPopup"></intrcp-detail-popup>
|
<intrcp-detail-popup ref="intrcpDetailPopup"></intrcp-detail-popup>
|
||||||
<common-modal ref="commonModal"></common-modal>
|
<common-modal ref="commonModal"></common-modal>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -93,8 +96,7 @@ import api from '@/service/api.js';
|
|||||||
import intrcpDetailPopup from '../components/IntrcpDetailPopup';
|
import intrcpDetailPopup from '../components/IntrcpDetailPopup';
|
||||||
import insertIntrcpPop from '../components/InsertIntrcpPop';
|
import insertIntrcpPop from '../components/InsertIntrcpPop';
|
||||||
import commonModal from "@/components/modal/commonModal";
|
import commonModal from "@/components/modal/commonModal";
|
||||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||||
//import api from '../service/api';
|
|
||||||
|
|
||||||
class CustomATagRenderer {
|
class CustomATagRenderer {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
@@ -102,7 +104,7 @@ class CustomATagRenderer {
|
|||||||
const el = document.createElement('a');
|
const el = document.createElement('a');
|
||||||
el.href = 'javascript:void(0);';
|
el.href = 'javascript:void(0);';
|
||||||
el.className = 'btn_text';
|
el.className = 'btn_text';
|
||||||
el.innerText= String(props.colValue)
|
el.innerText = String(props.colValue)
|
||||||
this.el = el;
|
this.el = el;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -112,7 +114,7 @@ class CustomATagRenderer {
|
|||||||
|
|
||||||
addEvent(selEl) {
|
addEvent(selEl) {
|
||||||
selEl.addEventListener("click", () => {
|
selEl.addEventListener("click", () => {
|
||||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
const {callback} = this.props["cgrido" + this.props.colName].options;
|
||||||
console.log(this.props);
|
console.log(this.props);
|
||||||
callback(this.props);
|
callback(this.props);
|
||||||
});
|
});
|
||||||
@@ -126,13 +128,13 @@ export default {
|
|||||||
return {
|
return {
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
perPageCnt: 50,
|
perPageCnt: 50,
|
||||||
blckRsnCd:'',
|
blckRsnCd: '',
|
||||||
blckYn:'',
|
blckYn: '',
|
||||||
sndblckTpCd:'',
|
sndblckTpCd: '',
|
||||||
options: [
|
options: [
|
||||||
{ text: '20', value: 20},
|
{text: '20', value: 20},
|
||||||
{ text: '50', value: 50},
|
{text: '50', value: 50},
|
||||||
{ text: '100', value: 100}
|
{text: '100', value: 100}
|
||||||
],
|
],
|
||||||
grid: {
|
grid: {
|
||||||
url: '/api/v1/bo/riskMgt/sendNum/intrcpList',
|
url: '/api/v1/bo/riskMgt/sendNum/intrcpList',
|
||||||
@@ -144,27 +146,29 @@ export default {
|
|||||||
addCls: 'box_OFvis',
|
addCls: 'box_OFvis',
|
||||||
header: [
|
header: [
|
||||||
[
|
[
|
||||||
{ header: 'NO', childNames: [] },
|
{header: 'NO', childNames: []},
|
||||||
{ header: '발신번호', childNames: [] },
|
{header: '발신번호', childNames: []},
|
||||||
{ header: '차단여부', childNames: [] },
|
{header: '차단여부', childNames: []},
|
||||||
{ header: '발송타입', childNames: [] },
|
{header: '발송타입', childNames: []},
|
||||||
{ header: '최근수정일', childNames: [] },
|
{header: '최근수정일', childNames: []},
|
||||||
{ header: '차단사유', childNames: [] },
|
{header: '차단사유', childNames: []},
|
||||||
{ header: '등록자', childNames: [] }
|
{header: '등록자', childNames: []}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
{name: 'no', header: 'NO', align: 'center', width: '5%'},
|
||||||
{ name: 'blcksndrno', header: '발신번호', align: 'center', width: '25%',
|
{
|
||||||
renderer: { type: CustomATagRenderer, options: { callback: this.inDetailPop} } },
|
name: 'blcksndrno', header: '발신번호', align: 'center', width: '25%',
|
||||||
{ name: 'blckYn', header: '차단여부', align: 'center', width: '15%'},
|
renderer: {type: CustomATagRenderer, options: {callback: this.inDetailPop}}
|
||||||
{ name: 'sndblckTpCd', header: '발송타입', align: 'center', width: '15%', hidden: true},
|
},
|
||||||
{ name: 'sndblckTpNm', header: '발송타입', align: 'center', width: '15%'},
|
{name: 'blckYn', header: '차단여부', align: 'center', width: '15%'},
|
||||||
{ name: 'lastChgDt', header: '최근수정일', align: 'center', width: '15%'},
|
{name: 'sndblckTpCd', header: '발송타입', align: 'center', width: '15%', hidden: true},
|
||||||
{ name: 'blckRsnCd', header: '차단사유', width: '15%', cls: 'td_line', hidden: true },
|
{name: 'sndblckTpNm', header: '발송타입', align: 'center', width: '15%'},
|
||||||
{ name: 'blckRsnNm', header: '차단사유', width: '15%', cls: 'td_line' },
|
{name: 'lastChgDt', header: '최근수정일', align: 'center', width: '15%'},
|
||||||
{ name: 'regId', header: '등록자', width: '15%' }
|
{name: 'blckRsnCd', header: '차단사유', width: '15%', cls: 'td_line', hidden: true},
|
||||||
|
{name: 'blckRsnNm', header: '차단사유', width: '15%', cls: 'td_line'},
|
||||||
|
{name: 'regId', header: '등록자', width: '15%'}
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
params: {
|
params: {
|
||||||
@@ -191,7 +195,7 @@ export default {
|
|||||||
this.grid.params.regId = '';
|
this.grid.params.regId = '';
|
||||||
|
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
this.setCodeData();
|
this.setCodeData();
|
||||||
// this.formReset();
|
// this.formReset();
|
||||||
},
|
},
|
||||||
@@ -200,7 +204,7 @@ export default {
|
|||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
|
|
||||||
let isKeep = false;
|
let isKeep = false;
|
||||||
if(getCondition) {
|
if (getCondition) {
|
||||||
this.grid.pagePerRows = getCondition.perPage;
|
this.grid.pagePerRows = getCondition.perPage;
|
||||||
this.grid.params = getCondition.params;
|
this.grid.params = getCondition.params;
|
||||||
page = getCondition.page;
|
page = getCondition.page;
|
||||||
@@ -209,7 +213,7 @@ export default {
|
|||||||
this.search(isKeep);
|
this.search(isKeep);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
this.grid.params.blckRsnCd = this.blckRsnCd
|
this.grid.params.blckRsnCd = this.blckRsnCd
|
||||||
this.grid.params.blckYn = this.blckYn
|
this.grid.params.blckYn = this.blckYn
|
||||||
@@ -219,11 +223,11 @@ export default {
|
|||||||
this.$refs.table.search(this.grid.params, isKeep);
|
this.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
changePerPage: function(){ // 페이지당 조회할 개수
|
changePerPage: function () { // 페이지당 조회할 개수
|
||||||
this.grid.pagePerRows = this.perPageCnt;
|
this.grid.pagePerRows = this.perPageCnt;
|
||||||
this.search(true);
|
this.search(true);
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
console.log("==========getP : " + getP._currentPage);
|
console.log("==========getP : " + getP._currentPage);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -233,23 +237,23 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
console.log("getCondition : "+ getCondition.perPage);
|
console.log("getCondition : " + getCondition.perPage);
|
||||||
},
|
},
|
||||||
setCodeData() {
|
setCodeData() {
|
||||||
// 상태 옵션 셋팅.
|
// 상태 옵션 셋팅.
|
||||||
api.commCode({'grpCd' : 'SVCUSER_STTUS_CD'}).then(response => {
|
api.commCode({'grpCd': 'SVCUSER_STTUS_CD'}).then(response => {
|
||||||
this.statType = response.data.data.list;
|
this.statType = response.data.data.list;
|
||||||
});
|
});
|
||||||
//
|
//
|
||||||
api.commCode({'grpCd' : 'SVCUSER_TP_CD'}).then(response => {
|
api.commCode({'grpCd': 'SVCUSER_TP_CD'}).then(response => {
|
||||||
this.userType = response.data.data.list;
|
this.userType = response.data.data.list;
|
||||||
});
|
});
|
||||||
//발송타입
|
//발송타입
|
||||||
api.commCode({'grpCd' : 'SNDBLCK_TP_CD'}).then(response => {
|
api.commCode({'grpCd': 'SNDBLCK_TP_CD'}).then(response => {
|
||||||
this.tpType = response.data.data.list;
|
this.tpType = response.data.data.list;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
ModalOpen: function(){
|
ModalOpen: function () {
|
||||||
this.$refs.insertIntrcpPop.ModalOpen();
|
this.$refs.insertIntrcpPop.ModalOpen();
|
||||||
},
|
},
|
||||||
inDetailPop(props) {
|
inDetailPop(props) {
|
||||||
@@ -263,14 +267,14 @@ export default {
|
|||||||
// this.insertType = type;
|
// this.insertType = type;
|
||||||
// },
|
// },
|
||||||
|
|
||||||
alertInsert(props){
|
alertInsert(props) {
|
||||||
console.log(props);
|
console.log(props);
|
||||||
this.$refs.commonModal.alertModalOpen(props);
|
this.$refs.commonModal.alertModalOpen(props);
|
||||||
},
|
},
|
||||||
confirmInsert(props){
|
confirmInsert(props) {
|
||||||
this.$refs.commonModal.confirmModalOpen(props);
|
this.$refs.commonModal.confirmModalOpen(props);
|
||||||
},
|
},
|
||||||
confirmCalbackFnc: function(props){
|
confirmCalbackFnc: function (props) {
|
||||||
// if(props.result){
|
// if(props.result){
|
||||||
// // this.doInsert(props.result);
|
// // this.doInsert(props.result);
|
||||||
// }
|
// }
|
||||||
|
|||||||
@@ -10,7 +10,8 @@
|
|||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="regId" class="label">등록자</label>
|
<label for="regId" class="label">등록자</label>
|
||||||
<input class="search-box" type="text" id="regId" placeholder="검색어 입력" v-model="grid.params.regId" v-on:keydown.enter.prevent="search" v-on:keyup="onlyEng" @input="onlyEng" maxlength="20"/>
|
<input class="search-box" type="text" id="regId" placeholder="검색어 입력" v-model.trim="grid.params.regId"
|
||||||
|
v-on:keydown.enter.prevent="search" v-on:keyup="onlyEng" @input="onlyEng" maxlength="20"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="select_box">
|
<div class="select_box">
|
||||||
<label for="blckRsnCd" class="label">차단사유</label>
|
<label for="blckRsnCd" class="label">차단사유</label>
|
||||||
@@ -26,16 +27,20 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="word" class="label">차단메시지</label>
|
<label for="word" class="label">차단메시지</label>
|
||||||
<input class="search-box" type="text" id="word" placeholder="검색어 입력" v-model="grid.params.word" v-on:keydown.enter.prevent="search" />
|
<input class="search-box" type="text" id="word" placeholder="검색어 입력" v-model.trim="grid.params.word"
|
||||||
|
v-on:keydown.enter.prevent="search" maxlength="50"/>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">총 <span> {{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}} </span>건
|
<div class="count">총 <span> {{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }} </span>건
|
||||||
<div class="select_box NumberSe">
|
<div class="select_box NumberSe">
|
||||||
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
||||||
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{ option.text }}</option>
|
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{
|
||||||
|
option.text
|
||||||
|
}}
|
||||||
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -70,15 +75,15 @@ import customGrid from '@/components/CustomGrid';
|
|||||||
import InsertMsgPop from '../components/InsertMsgPop';
|
import InsertMsgPop from '../components/InsertMsgPop';
|
||||||
import IntrcpMsgDetail from '../components/IntrcpMsgDetail';
|
import IntrcpMsgDetail from '../components/IntrcpMsgDetail';
|
||||||
import commonModal from "@/components/modal/commonModal";
|
import commonModal from "@/components/modal/commonModal";
|
||||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||||
//import api from '../service/api';
|
|
||||||
class CustomATagRenderer {
|
class CustomATagRenderer {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
this.props = props;
|
this.props = props;
|
||||||
const el = document.createElement('a');
|
const el = document.createElement('a');
|
||||||
el.href = 'javascript:void(0);';
|
el.href = 'javascript:void(0);';
|
||||||
el.className = 'btn_text';
|
el.className = 'btn_text';
|
||||||
el.innerText= String(props.colValue)
|
el.innerText = String(props.colValue)
|
||||||
this.el = el;
|
this.el = el;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,11 +93,12 @@ class CustomATagRenderer {
|
|||||||
|
|
||||||
addEvent(selEl) {
|
addEvent(selEl) {
|
||||||
selEl.addEventListener("click", () => {
|
selEl.addEventListener("click", () => {
|
||||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
const {callback} = this.props["cgrido" + this.props.colName].options;
|
||||||
callback(this.props);
|
callback(this.props);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'intrcpList',
|
name: 'intrcpList',
|
||||||
mixins: [utils_mixin, chkPattern2],
|
mixins: [utils_mixin, chkPattern2],
|
||||||
@@ -102,11 +108,11 @@ export default {
|
|||||||
// 테이블 리스트 데이터
|
// 테이블 리스트 데이터
|
||||||
perPageCnt: 50,
|
perPageCnt: 50,
|
||||||
options: [
|
options: [
|
||||||
{ text: '20', value: 20},
|
{text: '20', value: 20},
|
||||||
{ text: '50', value: 50},
|
{text: '50', value: 50},
|
||||||
{ text: '100', value: 100}
|
{text: '100', value: 100}
|
||||||
],
|
],
|
||||||
blckRsnCd:'',
|
blckRsnCd: '',
|
||||||
grid: {
|
grid: {
|
||||||
url: '/api/v1/bo/riskMgt/msg/intrcpList',
|
url: '/api/v1/bo/riskMgt/msg/intrcpList',
|
||||||
perPageRows: 20,
|
perPageRows: 20,
|
||||||
@@ -118,25 +124,27 @@ export default {
|
|||||||
|
|
||||||
header: [
|
header: [
|
||||||
[
|
[
|
||||||
{ header: 'NO', childNames: [] },
|
{header: 'NO', childNames: []},
|
||||||
{ header: '일련번호', align: 'center', childNames: [] },
|
{header: '일련번호', align: 'center', childNames: []},
|
||||||
{ header: '차단메시지', childNames: [] },
|
{header: '차단메시지', childNames: []},
|
||||||
{ header: '차단여부', childNames: [] },
|
{header: '차단여부', childNames: []},
|
||||||
{ header: '마지막 수정일', childNames: [] },
|
{header: '마지막 수정일', childNames: []},
|
||||||
{ header: '차단사유', childNames: [] },
|
{header: '차단사유', childNames: []},
|
||||||
{ header: '등록자', childNames: [] }
|
{header: '등록자', childNames: []}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
{name: 'no', header: 'NO', align: 'center', width: '5%'},
|
||||||
{ name: 'seqNo', header: '일련번호', align: 'center', width: '19%', hidden: true},
|
{name: 'seqNo', header: '일련번호', align: 'center', width: '19%', hidden: true},
|
||||||
{ name: 'word', header: '차단메시지', align: 'center', width: '19%',
|
{
|
||||||
renderer: {type: CustomATagRenderer, options: { callback: this.msgDetailPop}} },
|
name: 'word', header: '차단메시지', align: 'center', width: '19%',
|
||||||
{ name: 'blckYn', header: '차단여부', align: 'center', width: '19%'},
|
renderer: {type: CustomATagRenderer, options: {callback: this.msgDetailPop}}
|
||||||
{ name: 'lastChgDt', header: '마지막 수정일', align: 'center', width: '19%'},
|
},
|
||||||
{ name: 'blckRsnCd', header: '차단사유', align: 'center', width: '19%'},
|
{name: 'blckYn', header: '차단여부', align: 'center', width: '19%'},
|
||||||
{ name: 'regId', header: '등록자', width: '19%', cls: 'td_line' }
|
{name: 'lastChgDt', header: '마지막 수정일', align: 'center', width: '19%'},
|
||||||
|
{name: 'blckRsnCd', header: '차단사유', align: 'center', width: '19%'},
|
||||||
|
{name: 'regId', header: '등록자', width: '19%', cls: 'td_line'}
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
params: {
|
params: {
|
||||||
@@ -155,11 +163,11 @@ export default {
|
|||||||
InsertMsgPop,
|
InsertMsgPop,
|
||||||
IntrcpMsgDetail,
|
IntrcpMsgDetail,
|
||||||
commonModal,
|
commonModal,
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
|
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@@ -167,7 +175,7 @@ export default {
|
|||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
|
|
||||||
let isKeep = false;
|
let isKeep = false;
|
||||||
if(getCondition) {
|
if (getCondition) {
|
||||||
this.grid.pagePerRows = getCondition.perPage;
|
this.grid.pagePerRows = getCondition.perPage;
|
||||||
this.grid.params = getCondition.params;
|
this.grid.params = getCondition.params;
|
||||||
page = getCondition.page;
|
page = getCondition.page;
|
||||||
@@ -176,7 +184,7 @@ export default {
|
|||||||
this.search(isKeep);
|
this.search(isKeep);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
this.grid.params.blckRsnCd = this.blckRsnCd;
|
this.grid.params.blckRsnCd = this.blckRsnCd;
|
||||||
|
|
||||||
@@ -184,11 +192,11 @@ export default {
|
|||||||
this.$refs.table.search(this.grid.params, isKeep);
|
this.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
changePerPage: function(){ // 페이지당 조회할 개수
|
changePerPage: function () { // 페이지당 조회할 개수
|
||||||
this.grid.pagePerRows = this.perPageCnt;
|
this.grid.pagePerRows = this.perPageCnt;
|
||||||
this.search(true);
|
this.search(true);
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
console.log("==========getP : " + getP);
|
console.log("==========getP : " + getP);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -200,14 +208,14 @@ export default {
|
|||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
//console.log("getCondition : "+ getCondition.perPage);
|
//console.log("getCondition : "+ getCondition.perPage);
|
||||||
},
|
},
|
||||||
ModalOpen: function(target){
|
ModalOpen: function (target) {
|
||||||
this.$refs.InsertMsgPop.ModalOpen(target);
|
this.$refs.InsertMsgPop.ModalOpen(target);
|
||||||
},
|
},
|
||||||
msgDetailPop(props) {
|
msgDetailPop(props) {
|
||||||
// console.log(props);
|
// console.log(props);
|
||||||
this.$refs.IntrcpMsgDetail.IntrcpMsgDetailModalOpen(props);
|
this.$refs.IntrcpMsgDetail.IntrcpMsgDetailModalOpen(props);
|
||||||
},
|
},
|
||||||
msgAlertModalOpen(props){
|
msgAlertModalOpen(props) {
|
||||||
this.$refs.commonModal.alertModalOpen(props);
|
this.$refs.commonModal.alertModalOpen(props);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,15 +11,19 @@
|
|||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="search" class="label">고객사</label>
|
<label for="search" class="label">고객사</label>
|
||||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.custNm" v-on:keyup="onlyName" @input="onlyName" maxlength="20"/>
|
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model.trim="grid.params.custNm"
|
||||||
|
@keypress="onlyName" @input="onlyName" maxlength="20"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="search" class="label">인증코드</label>
|
<label for="search" class="label">인증코드</label>
|
||||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.authcd080" v-on:keyup="onlyNum" @input="onlyNum" maxlength="6"/>
|
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model.trim="grid.params.authcd080"
|
||||||
|
@keypress="onlyNum" @input="onlyNum" maxlength="6"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="search" class="label">수신번호</label>
|
<label for="search" class="label">수신번호</label>
|
||||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.rcvblckno" v-on:keyup="onlyNum" @input="onlyNum" maxlength="11"/>
|
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model.trim="grid.params.rcvblckno"
|
||||||
|
@keypress="onlyNum"
|
||||||
|
@input="onlyNum" maxlength="11"/>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -28,7 +32,10 @@
|
|||||||
<div class="count">총 <span> {{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }} </span>건
|
<div class="count">총 <span> {{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }} </span>건
|
||||||
<div class="select_box NumberSe">
|
<div class="select_box NumberSe">
|
||||||
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
||||||
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{ option.text }}</option>
|
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{
|
||||||
|
option.text
|
||||||
|
}}
|
||||||
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -57,7 +64,8 @@
|
|||||||
<script>
|
<script>
|
||||||
import customGrid from '@/components/CustomGrid';
|
import customGrid from '@/components/CustomGrid';
|
||||||
import commonModal from "@/components/modal/commonModal";
|
import commonModal from "@/components/modal/commonModal";
|
||||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||||
|
|
||||||
//import api from '../service/api';
|
//import api from '../service/api';
|
||||||
class CustomATagRenderer {
|
class CustomATagRenderer {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
@@ -65,7 +73,7 @@ class CustomATagRenderer {
|
|||||||
const el = document.createElement('a');
|
const el = document.createElement('a');
|
||||||
el.href = 'javascript:void(0);';
|
el.href = 'javascript:void(0);';
|
||||||
el.className = 'btn_text';
|
el.className = 'btn_text';
|
||||||
el.innerText= String(props.colValue)
|
el.innerText = String(props.colValue)
|
||||||
this.el = el;
|
this.el = el;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,19 +83,20 @@ class CustomATagRenderer {
|
|||||||
|
|
||||||
addEvent(selEl) {
|
addEvent(selEl) {
|
||||||
selEl.addEventListener("click", () => {
|
selEl.addEventListener("click", () => {
|
||||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
const {callback} = this.props["cgrido" + this.props.colName].options;
|
||||||
callback(this.props);
|
callback(this.props);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class customBRegNo {
|
class customBRegNo {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
//this.props = props;
|
//this.props = props;
|
||||||
const el = document.createElement('td');
|
const el = document.createElement('td');
|
||||||
var bregNo = String(props.colValue);
|
var bregNo = String(props.colValue);
|
||||||
el.innerText= bregNo;
|
el.innerText = bregNo;
|
||||||
if(bregNo.length == 10){
|
if (bregNo.length == 10) {
|
||||||
el.innerText= bregNo.substring(0,3)+'-'+bregNo.substring(3,5)+'-'+bregNo.substring(5,10)
|
el.innerText = bregNo.substring(0, 3) + '-' + bregNo.substring(3, 5) + '-' + bregNo.substring(5, 10)
|
||||||
}
|
}
|
||||||
this.el = el;
|
this.el = el;
|
||||||
}
|
}
|
||||||
@@ -99,6 +108,7 @@ class customBRegNo {
|
|||||||
addEvent(selEl) {
|
addEvent(selEl) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'intrcpList',
|
name: 'intrcpList',
|
||||||
mixins: [utils_mixin, chkPattern2],
|
mixins: [utils_mixin, chkPattern2],
|
||||||
@@ -106,13 +116,13 @@ export default {
|
|||||||
return {
|
return {
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
userType: [],
|
userType: [],
|
||||||
row:{},
|
row: {},
|
||||||
perPageCnt: 50,
|
perPageCnt: 50,
|
||||||
pagePerRows: 20,
|
pagePerRows: 20,
|
||||||
options: [
|
options: [
|
||||||
{ text: '20', value: 20},
|
{text: '20', value: 20},
|
||||||
{ text: '50', value: 50},
|
{text: '50', value: 50},
|
||||||
{ text: '100', value: 100}
|
{text: '100', value: 100}
|
||||||
],
|
],
|
||||||
grid: {
|
grid: {
|
||||||
url: '/api/v1/bo/riskMgt/zezNum/intrcpList',
|
url: '/api/v1/bo/riskMgt/zezNum/intrcpList',
|
||||||
@@ -122,34 +132,31 @@ export default {
|
|||||||
addCls: 'box_OFvis',
|
addCls: 'box_OFvis',
|
||||||
header: [
|
header: [
|
||||||
[
|
[
|
||||||
{ header: 'NO', childNames: [] },
|
{header: 'NO', childNames: []},
|
||||||
{ header: '고객사', childNames: [] },
|
{header: '고객사', childNames: []},
|
||||||
{ header: '사업자번호', childNames: [] },
|
{header: '사업자번호', childNames: []},
|
||||||
{ header: '인증코드', childNames: [] },
|
{header: '인증코드', childNames: []},
|
||||||
{ header: '수신번호', childNames: [] },
|
{header: '수신번호', childNames: []},
|
||||||
{ header: '등록일', childNames: [] },
|
{header: '등록일', childNames: []},
|
||||||
{ header: '등록구분', childNames: [] }
|
{header: '등록구분', childNames: []}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
{name: 'no', header: 'NO', align: 'center', width: '5%'},
|
||||||
{ name: 'custNm', header: '고객사', align: 'center', width: '15%', renderer: {
|
{
|
||||||
|
name: 'custNm', header: '고객사', align: 'center', width: '15%', renderer: {
|
||||||
type: CustomATagRenderer
|
type: CustomATagRenderer
|
||||||
, options: {
|
, options: {
|
||||||
callback: this.memberDetail,
|
callback: this.memberDetail,
|
||||||
}
|
}
|
||||||
} },
|
|
||||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: '15%',
|
|
||||||
formatter: props => {
|
|
||||||
let result = props.bizrno.substring(0,3)+'-'+ props.bizrno.substring(3,5)+'-'+ props.bizrno.substring(5,10)
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'authcd080', header: '인증코드', align: 'center', width: '15%'},
|
{name: 'bizrno', header: '사업자번호', align: 'center', width: '15%'},
|
||||||
{ name: 'rcvblckno', header: '수신번호', align: 'center', width: '15%'},
|
{name: 'authcd080', header: '인증코드', align: 'center', width: '15%'},
|
||||||
{ name: 'regDt', header: '등록일', align: 'center', width: '20%'},
|
{name: 'rcvblckno', header: '수신번호', align: 'center', width: '15%'},
|
||||||
{ name: 'regTpCd', header: '등록구분', width: '15%', cls: 'td_line' }
|
{name: 'regDt', header: '등록일', align: 'center', width: '20%'},
|
||||||
|
{name: 'regTpCd', header: '등록구분', width: '15%', cls: 'td_line'}
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
params: {
|
params: {
|
||||||
@@ -168,7 +175,7 @@ export default {
|
|||||||
destroyed() {
|
destroyed() {
|
||||||
|
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@@ -176,7 +183,7 @@ export default {
|
|||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
|
|
||||||
let isKeep = false;
|
let isKeep = false;
|
||||||
if(getCondition) {
|
if (getCondition) {
|
||||||
this.grid.pagePerRows = getCondition.perPage;
|
this.grid.pagePerRows = getCondition.perPage;
|
||||||
this.grid.params = getCondition.params;
|
this.grid.params = getCondition.params;
|
||||||
page = getCondition.page;
|
page = getCondition.page;
|
||||||
@@ -185,17 +192,17 @@ export default {
|
|||||||
this.search(isKeep);
|
this.search(isKeep);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
console.log('this.perPageCnt'+this.perPageCnt);
|
console.log('this.perPageCnt' + this.perPageCnt);
|
||||||
//console.log(this.grid.params);
|
//console.log(this.grid.params);
|
||||||
this.$refs.table.search(this.grid.params, isKeep);
|
this.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
changePerPage: function(){ // 페이지당 조회할 개수
|
changePerPage: function () { // 페이지당 조회할 개수
|
||||||
this.grid.pagePerRows = this.perPageCnt;
|
this.grid.pagePerRows = this.perPageCnt;
|
||||||
this.search(true);
|
this.search(true);
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
console.log("==========getP : " + getP);
|
console.log("==========getP : " + getP);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -211,7 +218,7 @@ export default {
|
|||||||
memberDetail(props) {
|
memberDetail(props) {
|
||||||
console.log(props);
|
console.log(props);
|
||||||
this.row.serviceId = props.userId;
|
this.row.serviceId = props.userId;
|
||||||
this.$router.push({ name: 'subsDetail', params: this.row});
|
this.$router.push({name: 'subsDetail', params: this.row});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeRouteLeave(to, from, next) {
|
beforeRouteLeave(to, from, next) {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<div class="pop-cont-detail input_box">
|
<div class="pop-cont-detail input_box">
|
||||||
<label>ID</label>
|
<label>ID</label>
|
||||||
<div class="input_search">
|
<div class="input_search">
|
||||||
<input class="search-box" type="text" value="" v-model="searchText1">
|
<input class="search-box" type="text" value="" v-model="searchText1" maxlength="100">
|
||||||
<button type="button" class="button btn-p2color" @click="adminList">조회</button>
|
<button type="button" class="button btn-p2color" @click="adminList">조회</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<!-- <div class="wrap bg-wrap"> -->
|
<!-- <div class="wrap bg-wrap"> -->
|
||||||
<div>
|
<div>
|
||||||
<div class="dimmed" @click="apprDetailPopClose"></div>
|
<div class="dimmed modal55" @click="apprDetailPopClose"></div>
|
||||||
<div class="popup-wrap">
|
<div class="popup-wrap modal55">
|
||||||
<!-- 발신번호 상세 (타사업자)-->
|
<!-- 발신번호 상세 (타사업자)-->
|
||||||
<div class="popup modal55 popup_form">
|
<div class="popup modal55 popup_form">
|
||||||
<div class="pop-head">
|
<div class="pop-head">
|
||||||
@@ -137,14 +137,10 @@ export default {
|
|||||||
// 모달 띄우기
|
// 모달 띄우기
|
||||||
apprDetailPopOpen(props){
|
apprDetailPopOpen(props){
|
||||||
|
|
||||||
// this.formReset();
|
var dimmed = document.getElementsByClassName('modal55');
|
||||||
var dimmed = document.getElementsByClassName('dimmed');
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[0].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
var wrap = document.getElementsByClassName('popup-wrap');
|
}
|
||||||
wrap[0].style.display = 'block';
|
|
||||||
var obj = document.getElementsByClassName('modal55');
|
|
||||||
obj[0].style.display = 'block';
|
|
||||||
|
|
||||||
this.apprDetail(props);
|
this.apprDetail(props);
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -198,12 +194,10 @@ export default {
|
|||||||
},
|
},
|
||||||
// 모달 끄기
|
// 모달 끄기
|
||||||
apprDetailPopClose(){
|
apprDetailPopClose(){
|
||||||
var dimmed = document.getElementsByClassName('dimmed');
|
var dimmed = document.getElementsByClassName('modal55');
|
||||||
dimmed[0].style.display = 'none';
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
var wrap = document.getElementsByClassName('popup-wrap');
|
dimmed[i].style.display = 'none';
|
||||||
wrap[0].style.display = 'none';
|
}
|
||||||
var popup = document.getElementsByClassName('modal55');
|
|
||||||
popup[0].style.display = 'none';
|
|
||||||
},
|
},
|
||||||
allApprSttus(event) {
|
allApprSttus(event) {
|
||||||
var data = event.target.value;
|
var data = event.target.value;
|
||||||
|
|||||||
@@ -29,9 +29,11 @@
|
|||||||
<tr v-show="bizrAuthYn !== 'Y'">
|
<tr v-show="bizrAuthYn !== 'Y'">
|
||||||
<th>명의자 구분</th>
|
<th>명의자 구분</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="radio" name="nmineeDivCd" value="01" id="popup_radio5" v-model="nmineeDivCd" @change="changeNmineDiv($event)">
|
<input type="radio" name="nmineeDivCd" value="01" id="popup_radio5" v-model="nmineeDivCd"
|
||||||
|
@change="changeNmineDiv($event)">
|
||||||
<label for="popup_radio5">사업자</label>
|
<label for="popup_radio5">사업자</label>
|
||||||
<input type="radio" name="nmineeDivCd" value="02" id="popup_radio6" v-model="nmineeDivCd" @change="changeNmineDiv($event)">
|
<input type="radio" name="nmineeDivCd" value="02" id="popup_radio6" v-model="nmineeDivCd"
|
||||||
|
@change="changeNmineDiv($event)">
|
||||||
<label for="popup_radio6">타사업자</label>
|
<label for="popup_radio6">타사업자</label>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -41,12 +43,14 @@
|
|||||||
<div class="input_add">
|
<div class="input_add">
|
||||||
<div>
|
<div>
|
||||||
<input type="text" placeholder="발신번호명" v-model="sendNm" maxlength="20">
|
<input type="text" placeholder="발신번호명" v-model="sendNm" maxlength="20">
|
||||||
<input type="text" placeholder="발신번호(숫자만입력)" v-model="sendNum" v-on:keyup="onlyNum" @input="onlyNum" maxlength="16">
|
<input type="text" placeholder="발신번호(숫자만입력)" v-model="sendNum" @keypress="onlyNum" @input="onlyNum"
|
||||||
|
maxlength="11">
|
||||||
<button class="button white add" @click="addNumberInput"></button>
|
<button class="button white add" @click="addNumberInput"></button>
|
||||||
</div>
|
</div>
|
||||||
<div v-for="(numberInput, index) in numberInputs">
|
<div v-for="(numberInput, index) in numberInputs">
|
||||||
<input type="text" placeholder="발신번호명" v-model="numberInput.sendNm" maxlength="20">
|
<input type="text" placeholder="발신번호명" v-model="numberInput.sendNm" maxlength="20">
|
||||||
<input type="text" placeholder="발신번호(숫자만입력)" v-model="numberInput.sendNum" v-on:keyup="onlyNum" @input="onlyNum" maxlength="16">
|
<input type="text" placeholder="발신번호(숫자만입력)" v-model="numberInput.sendNum" @keypress="onlyNum"
|
||||||
|
@input="onlyNum" maxlength="11">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
@@ -56,37 +60,43 @@
|
|||||||
<td>
|
<td>
|
||||||
<div class="attach" v-show="fileType === 2">
|
<div class="attach" v-show="fileType === 2">
|
||||||
<p class="essential list"><span>*</span>위임-수임관계 확인 서류</p>
|
<p class="essential list"><span>*</span>위임-수임관계 확인 서류</p>
|
||||||
<input type="file" ref="trustFile" style="display: none" @change="readTrustFile" accept=".jpg,.png,.pdf,.tiff"/>
|
<input type="file" ref="trustFile" style="display: none" @change="readTrustFile"
|
||||||
|
accept=".jpg,.png,.pdf,.tiff"/>
|
||||||
<button class="button btn-p2color" @click="$refs.trustFile.click()">파일업로드</button>
|
<button class="button btn-p2color" @click="$refs.trustFile.click()">파일업로드</button>
|
||||||
<p class="file" id="trustNm"></p>
|
<p class="file" id="trustNm"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="attach" v-show="fileType === 2">
|
<div class="attach" v-show="fileType === 2">
|
||||||
<p class="essential list"><span>*</span>위임장</p>
|
<p class="essential list"><span>*</span>위임장</p>
|
||||||
<input type="file" ref="warrantFile" style="display: none" @change="readWarrantFile" accept=".jpg,.png,.pdf,.tiff"/>
|
<input type="file" ref="warrantFile" style="display: none" @change="readWarrantFile"
|
||||||
|
accept=".jpg,.png,.pdf,.tiff"/>
|
||||||
<button class="button btn-p2color" @click="$refs.warrantFile.click()">파일업로드</button>
|
<button class="button btn-p2color" @click="$refs.warrantFile.click()">파일업로드</button>
|
||||||
<p class="file" id="warrantNm"></p>
|
<p class="file" id="warrantNm"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="attach" v-show="fileType === 2">
|
<div class="attach" v-show="fileType === 2">
|
||||||
<p class="essential list"><span>*</span>대리인 신분증 사본 인증</p>
|
<p class="essential list"><span>*</span>대리인 신분증 사본 인증</p>
|
||||||
<input type="file" ref="deputyFile" style="display: none" @change="readDeputyFile" accept=".jpg,.png,.pdf,.tiff"/>
|
<input type="file" ref="deputyFile" style="display: none" @change="readDeputyFile"
|
||||||
|
accept=".jpg,.png,.pdf,.tiff"/>
|
||||||
<button class="button btn-p2color" @click="$refs.deputyFile.click()">파일업로드</button>
|
<button class="button btn-p2color" @click="$refs.deputyFile.click()">파일업로드</button>
|
||||||
<p class="file" id="deputyNm"></p>
|
<p class="file" id="deputyNm"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="attach">
|
<div class="attach">
|
||||||
<p class="essential list"><span>*</span>통신서비스 이용증명원</p>
|
<p class="essential list"><span>*</span>통신서비스 이용증명원</p>
|
||||||
<input type="file" ref="communicationFile" style="display: none" @change="readCommunicationFile" accept=".jpg,.png,.pdf,.tiff"/>
|
<input type="file" ref="communicationFile" style="display: none" @change="readCommunicationFile"
|
||||||
|
accept=".jpg,.png,.pdf,.tiff"/>
|
||||||
<button class="button btn-p2color" @click="$refs.communicationFile.click()">파일업로드</button>
|
<button class="button btn-p2color" @click="$refs.communicationFile.click()">파일업로드</button>
|
||||||
<p class="file" id="communicationNm"></p>
|
<p class="file" id="communicationNm"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="attach">
|
<div class="attach">
|
||||||
<p class="essential list"><span>*</span>재직증명서</p>
|
<p class="essential list"><span>*</span>재직증명서</p>
|
||||||
<input type="file" ref="tenureFile" style="display: none" @change="readTenureFile" accept=".jpg,.png,.pdf,.tiff"/>
|
<input type="file" ref="tenureFile" style="display: none" @change="readTenureFile"
|
||||||
|
accept=".jpg,.png,.pdf,.tiff"/>
|
||||||
<button class="button btn-p2color" @click="$refs.tenureFile.click()">파일업로드</button>
|
<button class="button btn-p2color" @click="$refs.tenureFile.click()">파일업로드</button>
|
||||||
<p class="file" id="tenureNm"></p>
|
<p class="file" id="tenureNm"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="attach" v-show="fileType === 2">
|
<div class="attach" v-show="fileType === 2">
|
||||||
<p class="essential list"><span>*</span>사업자등록증</p>
|
<p class="essential list"><span>*</span>사업자등록증</p>
|
||||||
<input type="file" ref="otherBusinessFile" style="display: none" @change="readOtherBusinessFile" accept=".jpg,.png,.pdf,.tiff"/>
|
<input type="file" ref="otherBusinessFile" style="display: none" @change="readOtherBusinessFile"
|
||||||
|
accept=".jpg,.png,.pdf,.tiff"/>
|
||||||
<button class="button btn-p2color" @click="$refs.otherBusinessFile.click()">파일업로드</button>
|
<button class="button btn-p2color" @click="$refs.otherBusinessFile.click()">파일업로드</button>
|
||||||
<p class="file" id="otherBusinessNm"></p>
|
<p class="file" id="otherBusinessNm"></p>
|
||||||
</div>
|
</div>
|
||||||
@@ -98,7 +108,8 @@
|
|||||||
<td v-show="bizrAuthYn !== 'Y'">
|
<td v-show="bizrAuthYn !== 'Y'">
|
||||||
<div class="attach">
|
<div class="attach">
|
||||||
<p class="essential list"><span>*</span>사업자등록증</p>
|
<p class="essential list"><span>*</span>사업자등록증</p>
|
||||||
<input type="file" ref="businessFile" style="display: none" @change="readBusinessFile" accept=".jpg,.png,.pdf,.tiff"/>
|
<input type="file" ref="businessFile" style="display: none" @change="readBusinessFile"
|
||||||
|
accept=".jpg,.png,.pdf,.tiff"/>
|
||||||
<button class="button btn-p2color" @click="$refs.businessFile.click()">파일업로드</button>
|
<button class="button btn-p2color" @click="$refs.businessFile.click()">파일업로드</button>
|
||||||
<p class="file" id="businessNm"></p>
|
<p class="file" id="businessNm"></p>
|
||||||
</div>
|
</div>
|
||||||
@@ -121,41 +132,41 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import AdminListPop from "@/modules/sendNumMgt/components/AdminListPop";
|
import AdminListPop from "@/modules/sendNumMgt/components/AdminListPop";
|
||||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||||
import commonModal from "@/components/modal/commonModal";
|
import commonModal from "@/components/modal/commonModal";
|
||||||
import sendNumMgtApi from "@/modules/sendNumMgt/service/sendNumMgtApi";
|
import sendNumMgtApi from "@/modules/sendNumMgt/service/sendNumMgtApi";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "numberRegPop",
|
name: "numberRegPop",
|
||||||
mixins: [utils_mixin, chkPattern2],
|
mixins: [utils_mixin, chkPattern2],
|
||||||
watch:{
|
watch: {
|
||||||
nmineeDivCd(){
|
nmineeDivCd() {
|
||||||
console.log('watch : ', this.nmineeDivCd)
|
console.log('watch : ', this.nmineeDivCd)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data(){
|
data() {
|
||||||
return{
|
return {
|
||||||
row: {},
|
row: {},
|
||||||
adminId:'',
|
adminId: '',
|
||||||
custNm:'',
|
custNm: '',
|
||||||
bRegNo:'',
|
bRegNo: '',
|
||||||
bizrAuthYn: '',
|
bizrAuthYn: '',
|
||||||
custSeq: '',
|
custSeq: '',
|
||||||
nmineeDivCd:'01',
|
nmineeDivCd: '01',
|
||||||
sendNm: '',
|
sendNm: '',
|
||||||
sendNum: '',
|
sendNum: '',
|
||||||
numberInputs: [],
|
numberInputs: [],
|
||||||
saveSendNums: [],
|
saveSendNums: [],
|
||||||
fileType:1,
|
fileType: 1,
|
||||||
trustFile: null,
|
trustFile: null,
|
||||||
warrantFile: null,
|
warrantFile: null,
|
||||||
deputyFile: null,
|
deputyFile: null,
|
||||||
tenureFile: null,
|
tenureFile: null,
|
||||||
businessFile: null,
|
businessFile: null,
|
||||||
communicationFile: null,
|
communicationFile: null,
|
||||||
otherBusinessFile:null,
|
otherBusinessFile: null,
|
||||||
childData: 20,
|
childData: 20,
|
||||||
reqCnt:0,
|
reqCnt: 0,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@@ -167,14 +178,14 @@ export default {
|
|||||||
event: 'event-data'
|
event: 'event-data'
|
||||||
},
|
},
|
||||||
props: ['sendData'],
|
props: ['sendData'],
|
||||||
created(){
|
created() {
|
||||||
this.formReset();
|
this.formReset();
|
||||||
},
|
},
|
||||||
methods :{
|
methods: {
|
||||||
searchIdPop(){
|
searchIdPop() {
|
||||||
this.$refs.admnListPop.adminNmPopOpen();
|
this.$refs.admnListPop.adminNmPopOpen();
|
||||||
},
|
},
|
||||||
setChildData (data) {
|
setChildData(data) {
|
||||||
console.log(data)
|
console.log(data)
|
||||||
this.adminId = data.adminId
|
this.adminId = data.adminId
|
||||||
this.custNm = data.custNm
|
this.custNm = data.custNm
|
||||||
@@ -182,27 +193,27 @@ export default {
|
|||||||
this.bizrAuthYn = data.bizrAuthYn
|
this.bizrAuthYn = data.bizrAuthYn
|
||||||
this.custSeq = data.custSeq
|
this.custSeq = data.custSeq
|
||||||
},
|
},
|
||||||
addNumberInput(){
|
addNumberInput() {
|
||||||
this.numberInputs.push({
|
this.numberInputs.push({
|
||||||
sendNm: '',
|
sendNm: '',
|
||||||
sendNum: ''
|
sendNum: ''
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
delNumberInput(index){
|
delNumberInput(index) {
|
||||||
this.numberInputs.splice(index,1)
|
this.numberInputs.splice(index, 1)
|
||||||
},
|
},
|
||||||
changeNmineDiv(event){
|
changeNmineDiv(event) {
|
||||||
var data = event.target.value;
|
var data = event.target.value;
|
||||||
console.log(data)
|
console.log(data)
|
||||||
if(data === '01'){
|
if (data === '01') {
|
||||||
this.fileType = 1
|
this.fileType = 1
|
||||||
}
|
}
|
||||||
if(data === '02'){
|
if (data === '02') {
|
||||||
this.fileType = 2
|
this.fileType = 2
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 모달 띄우기
|
// 모달 띄우기
|
||||||
numberRegPopopen(){
|
numberRegPopopen() {
|
||||||
this.formReset();
|
this.formReset();
|
||||||
var dimmed = document.getElementsByClassName('dimmed');
|
var dimmed = document.getElementsByClassName('dimmed');
|
||||||
dimmed[0].style.display = 'block';
|
dimmed[0].style.display = 'block';
|
||||||
@@ -212,7 +223,7 @@ export default {
|
|||||||
obj[0].style.display = 'block';
|
obj[0].style.display = 'block';
|
||||||
},
|
},
|
||||||
// 모달 끄기
|
// 모달 끄기
|
||||||
numberRegPopClose(){
|
numberRegPopClose() {
|
||||||
var dimmed = document.getElementsByClassName('dimmed');
|
var dimmed = document.getElementsByClassName('dimmed');
|
||||||
dimmed[0].style.display = 'none';
|
dimmed[0].style.display = 'none';
|
||||||
var wrap = document.getElementsByClassName('popup-wrap');
|
var wrap = document.getElementsByClassName('popup-wrap');
|
||||||
@@ -221,11 +232,11 @@ export default {
|
|||||||
popup[0].style.display = 'none';
|
popup[0].style.display = 'none';
|
||||||
|
|
||||||
},
|
},
|
||||||
formReset(){
|
formReset() {
|
||||||
Object.assign(this.$data, this.$options.data());
|
Object.assign(this.$data, this.$options.data());
|
||||||
},
|
},
|
||||||
// 위임-수임
|
// 위임-수임
|
||||||
readTrustFile(event){
|
readTrustFile(event) {
|
||||||
const file = event.target.files[0];
|
const file = event.target.files[0];
|
||||||
console.log(file.name);
|
console.log(file.name);
|
||||||
|
|
||||||
@@ -242,9 +253,9 @@ export default {
|
|||||||
root.appendChild(button);
|
root.appendChild(button);
|
||||||
this.trustFile = file;
|
this.trustFile = file;
|
||||||
},
|
},
|
||||||
delTrustFile(event){
|
delTrustFile(event) {
|
||||||
const file = event.target.files[0];
|
const file = event.target.files[0];
|
||||||
this.$refs.trustFile.value=null;
|
this.$refs.trustFile.value = null;
|
||||||
let element = document.getElementById("trustNm");
|
let element = document.getElementById("trustNm");
|
||||||
while (element.firstChild) {
|
while (element.firstChild) {
|
||||||
element.removeChild(element.firstChild);
|
element.removeChild(element.firstChild);
|
||||||
@@ -252,7 +263,7 @@ export default {
|
|||||||
this.trustFile = null;
|
this.trustFile = null;
|
||||||
},
|
},
|
||||||
// 위임장
|
// 위임장
|
||||||
readWarrantFile(event){
|
readWarrantFile(event) {
|
||||||
const file = event.target.files[0];
|
const file = event.target.files[0];
|
||||||
|
|
||||||
// inner Html.
|
// inner Html.
|
||||||
@@ -268,9 +279,9 @@ export default {
|
|||||||
root.appendChild(button);
|
root.appendChild(button);
|
||||||
this.warrantFile = file;
|
this.warrantFile = file;
|
||||||
},
|
},
|
||||||
delWarrantFile(event){
|
delWarrantFile(event) {
|
||||||
const file = event.target.files[0];
|
const file = event.target.files[0];
|
||||||
this.$refs.warrantFile.value=null;
|
this.$refs.warrantFile.value = null;
|
||||||
let element = document.getElementById("warrantNm");
|
let element = document.getElementById("warrantNm");
|
||||||
while (element.firstChild) {
|
while (element.firstChild) {
|
||||||
element.removeChild(element.firstChild);
|
element.removeChild(element.firstChild);
|
||||||
@@ -278,7 +289,7 @@ export default {
|
|||||||
this.warrantFile = null;
|
this.warrantFile = null;
|
||||||
},
|
},
|
||||||
// 대리인
|
// 대리인
|
||||||
readDeputyFile(event){
|
readDeputyFile(event) {
|
||||||
const file = event.target.files[0];
|
const file = event.target.files[0];
|
||||||
|
|
||||||
// inner Html.
|
// inner Html.
|
||||||
@@ -296,9 +307,9 @@ export default {
|
|||||||
this.deputyFile = file
|
this.deputyFile = file
|
||||||
|
|
||||||
},
|
},
|
||||||
delDeputyFile(event){
|
delDeputyFile(event) {
|
||||||
const file = event.target.files[0];
|
const file = event.target.files[0];
|
||||||
this.$refs.deputyFile.value=null;
|
this.$refs.deputyFile.value = null;
|
||||||
let element = document.getElementById("deputyNm");
|
let element = document.getElementById("deputyNm");
|
||||||
while (element.firstChild) {
|
while (element.firstChild) {
|
||||||
element.removeChild(element.firstChild);
|
element.removeChild(element.firstChild);
|
||||||
@@ -306,7 +317,7 @@ export default {
|
|||||||
this.deputyFile = null;
|
this.deputyFile = null;
|
||||||
},
|
},
|
||||||
// 재직
|
// 재직
|
||||||
readTenureFile(event){
|
readTenureFile(event) {
|
||||||
const file = event.target.files[0];
|
const file = event.target.files[0];
|
||||||
|
|
||||||
// inner Html.
|
// inner Html.
|
||||||
@@ -322,9 +333,9 @@ export default {
|
|||||||
root.appendChild(button);
|
root.appendChild(button);
|
||||||
this.tenureFile = file;
|
this.tenureFile = file;
|
||||||
},
|
},
|
||||||
delTenureFile(event){
|
delTenureFile(event) {
|
||||||
const file = event.target.files[0];
|
const file = event.target.files[0];
|
||||||
this.$refs.tenureFile.value=null;
|
this.$refs.tenureFile.value = null;
|
||||||
let element = document.getElementById("tenureNm");
|
let element = document.getElementById("tenureNm");
|
||||||
while (element.firstChild) {
|
while (element.firstChild) {
|
||||||
element.removeChild(element.firstChild);
|
element.removeChild(element.firstChild);
|
||||||
@@ -332,7 +343,7 @@ export default {
|
|||||||
this.tenureFile = null;
|
this.tenureFile = null;
|
||||||
},
|
},
|
||||||
//사업자 등록증.
|
//사업자 등록증.
|
||||||
readBusinessFile(event){
|
readBusinessFile(event) {
|
||||||
const file = event.target.files[0];
|
const file = event.target.files[0];
|
||||||
|
|
||||||
// inner Html.
|
// inner Html.
|
||||||
@@ -348,9 +359,9 @@ export default {
|
|||||||
root.appendChild(button);
|
root.appendChild(button);
|
||||||
this.businessFile = file;
|
this.businessFile = file;
|
||||||
},
|
},
|
||||||
delBusinessFile(event){
|
delBusinessFile(event) {
|
||||||
const file = event.target.files[0];
|
const file = event.target.files[0];
|
||||||
this.$refs.businessFile.value=null;
|
this.$refs.businessFile.value = null;
|
||||||
let element = document.getElementById("businessNm");
|
let element = document.getElementById("businessNm");
|
||||||
while (element.firstChild) {
|
while (element.firstChild) {
|
||||||
element.removeChild(element.firstChild);
|
element.removeChild(element.firstChild);
|
||||||
@@ -358,7 +369,7 @@ export default {
|
|||||||
this.businessFile = null;
|
this.businessFile = null;
|
||||||
},
|
},
|
||||||
//통신서비스 증명원
|
//통신서비스 증명원
|
||||||
readCommunicationFile(event){
|
readCommunicationFile(event) {
|
||||||
const file = event.target.files[0];
|
const file = event.target.files[0];
|
||||||
|
|
||||||
// inner Html.
|
// inner Html.
|
||||||
@@ -374,9 +385,9 @@ export default {
|
|||||||
root.appendChild(button);
|
root.appendChild(button);
|
||||||
this.communicationFile = file;
|
this.communicationFile = file;
|
||||||
},
|
},
|
||||||
delCommunicationFile(event){
|
delCommunicationFile(event) {
|
||||||
const file = event.target.files[0];
|
const file = event.target.files[0];
|
||||||
this.$refs.communicationFile.value=null;
|
this.$refs.communicationFile.value = null;
|
||||||
let element = document.getElementById("communicationNm");
|
let element = document.getElementById("communicationNm");
|
||||||
while (element.firstChild) {
|
while (element.firstChild) {
|
||||||
element.removeChild(element.firstChild);
|
element.removeChild(element.firstChild);
|
||||||
@@ -384,7 +395,7 @@ export default {
|
|||||||
this.communicationFile = null;
|
this.communicationFile = null;
|
||||||
},
|
},
|
||||||
// 타사업자 등록증
|
// 타사업자 등록증
|
||||||
readOtherBusinessFile(event){
|
readOtherBusinessFile(event) {
|
||||||
const file = event.target.files[0];
|
const file = event.target.files[0];
|
||||||
|
|
||||||
// inner Html.
|
// inner Html.
|
||||||
@@ -400,16 +411,16 @@ export default {
|
|||||||
root.appendChild(button);
|
root.appendChild(button);
|
||||||
this.otherBusinessFile = file;
|
this.otherBusinessFile = file;
|
||||||
},
|
},
|
||||||
delOtherBusinessFile(event){
|
delOtherBusinessFile(event) {
|
||||||
const file = event.target.files[0];
|
const file = event.target.files[0];
|
||||||
this.$refs.otherBusinessFile.value=null;
|
this.$refs.otherBusinessFile.value = null;
|
||||||
let element = document.getElementById("otherBusinessNm");
|
let element = document.getElementById("otherBusinessNm");
|
||||||
while (element.firstChild) {
|
while (element.firstChild) {
|
||||||
element.removeChild(element.firstChild);
|
element.removeChild(element.firstChild);
|
||||||
}
|
}
|
||||||
this.otherBusinessFile = null;
|
this.otherBusinessFile = null;
|
||||||
},
|
},
|
||||||
async saveSendNum(){
|
async saveSendNum() {
|
||||||
|
|
||||||
|
|
||||||
this.saveSendNums = []
|
this.saveSendNums = []
|
||||||
@@ -418,7 +429,7 @@ export default {
|
|||||||
sendNum: this.sendNum
|
sendNum: this.sendNum
|
||||||
})
|
})
|
||||||
|
|
||||||
if(this.numberInputs.length > 0){
|
if (this.numberInputs.length > 0) {
|
||||||
this.numberInputs.forEach(element =>
|
this.numberInputs.forEach(element =>
|
||||||
this.saveSendNums.push({
|
this.saveSendNums.push({
|
||||||
sendNm: element.sendNm,
|
sendNm: element.sendNm,
|
||||||
@@ -429,8 +440,8 @@ export default {
|
|||||||
this.doValidate();
|
this.doValidate();
|
||||||
// console.log(this.custSeq)
|
// console.log(this.custSeq)
|
||||||
console.log(this.$data)
|
console.log(this.$data)
|
||||||
if(this.bizrAuthYn !== 'Y'){
|
if (this.bizrAuthYn !== 'Y') {
|
||||||
if(this.nmineeDivCd === '01'){
|
if (this.nmineeDivCd === '01') {
|
||||||
// 사업자
|
// 사업자
|
||||||
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)
|
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)
|
||||||
const result = response.data;
|
const result = response.data;
|
||||||
@@ -439,7 +450,7 @@ export default {
|
|||||||
this.toComplete()
|
this.toComplete()
|
||||||
}
|
}
|
||||||
|
|
||||||
}else if(this.nmineeDivCd === '02'){
|
} 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)
|
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)
|
||||||
const result = response.data;
|
const result = response.data;
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -448,7 +459,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
const response = await sendNumMgtApi.insertNumber(this.adminId, this.custNm, this.bRegNo, this.nmineeDivCd, this.saveSendNums, this.bizrAuthYn, this.custSeq)
|
const response = await sendNumMgtApi.insertNumber(this.adminId, this.custNm, this.bRegNo, this.nmineeDivCd, this.saveSendNums, this.bizrAuthYn, this.custSeq)
|
||||||
const result = response.data;
|
const result = response.data;
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -457,17 +468,17 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
doValidate(){
|
doValidate() {
|
||||||
|
|
||||||
|
|
||||||
if(this.isNull(this.adminId) || this.isNull(this.custNm) || this.isNull(this.bRegNo)){
|
if (this.isNull(this.adminId) || this.isNull(this.custNm) || this.isNull(this.bRegNo)) {
|
||||||
this.row.title = '발신번호 등록';
|
this.row.title = '발신번호 등록';
|
||||||
this.row.msg1 = '관리자ID를 조회 해주세요.';
|
this.row.msg1 = '관리자ID를 조회 해주세요.';
|
||||||
this.getParent('NumberList').commonModalOpen(this.row)
|
this.getParent('NumberList').commonModalOpen(this.row)
|
||||||
// this.$refs.commmonModal2.alertModalOpen(this.row);
|
// this.$refs.commmonModal2.alertModalOpen(this.row);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(this.isNull(this.sendNm) || this.isNull(this.sendNum)){
|
if (this.isNull(this.sendNm) || this.isNull(this.sendNum)) {
|
||||||
this.row.title = '발신번호 등록';
|
this.row.title = '발신번호 등록';
|
||||||
this.row.msg1 = '발신번호명/발신번호를 입력해 주세요.';
|
this.row.msg1 = '발신번호명/발신번호를 입력해 주세요.';
|
||||||
this.$refs.commmonModal2.alertModalOpen(this.row);
|
this.$refs.commmonModal2.alertModalOpen(this.row);
|
||||||
@@ -480,7 +491,7 @@ export default {
|
|||||||
// return false;
|
// return false;
|
||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
toComplete(){
|
toComplete() {
|
||||||
this.getParent('numberList').$refs.table.reloadData();
|
this.getParent('numberList').$refs.table.reloadData();
|
||||||
this.numberRegPopClose();
|
this.numberRegPopClose();
|
||||||
},
|
},
|
||||||
|
|||||||
183
frontend/src/modules/sendNumMgt/components/commonModal.vue
Normal file
183
frontend/src/modules/sendNumMgt/components/commonModal.vue
Normal file
@@ -0,0 +1,183 @@
|
|||||||
|
<template>
|
||||||
|
<!-- <div class="wrap bg-wrap"> -->
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<div class="dimmed alertCommon" @click="alertModalCancel();"></div>
|
||||||
|
<div class="popup-wrap alertCommon">
|
||||||
|
<!-- 로그인실패: 확인 -->
|
||||||
|
<div class="popup alertCommon">
|
||||||
|
<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-btn1">
|
||||||
|
<button class="btn-pcolor" @click="alertModalClose();">확인</button>
|
||||||
|
</div>
|
||||||
|
</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">
|
||||||
|
<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="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">
|
||||||
|
<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>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "confirm",
|
||||||
|
data(){
|
||||||
|
return{
|
||||||
|
row:{},
|
||||||
|
title:'',
|
||||||
|
msg1: '',
|
||||||
|
msg2: '',
|
||||||
|
msg3: '',
|
||||||
|
msg4: '',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods :{
|
||||||
|
alertModalOpen(props){
|
||||||
|
console.log("@@@@@@@@@@")
|
||||||
|
console.log(props)
|
||||||
|
var dimmed = document.getElementsByClassName('alertCommon');
|
||||||
|
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;
|
||||||
|
},
|
||||||
|
alertModalClose(){
|
||||||
|
var dimmed = document.getElementsByClassName('alertCommon');
|
||||||
|
for(var i = 0; i < dimmed.length; i++){
|
||||||
|
dimmed[i].style.display = 'none';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
alertModalCancel(){
|
||||||
|
var dimmed = document.getElementsByClassName('alertCommon');
|
||||||
|
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.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';
|
||||||
|
}
|
||||||
|
|
||||||
|
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';
|
||||||
|
}
|
||||||
|
|
||||||
|
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';
|
||||||
|
}
|
||||||
|
|
||||||
|
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>
|
||||||
@@ -6,7 +6,6 @@
|
|||||||
<h3 class="title">발신번호 승인</h3>
|
<h3 class="title">발신번호 승인</h3>
|
||||||
<p class="breadcrumb">발신번호관리 > 발신번호 승인</p>
|
<p class="breadcrumb">발신번호관리 > 발신번호 승인</p>
|
||||||
</div>
|
</div>
|
||||||
<form autocomplete="off" class="search_form">
|
|
||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="group">
|
<div class="group">
|
||||||
<div class="select_box">
|
<div class="select_box">
|
||||||
@@ -19,7 +18,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="right" class="label">사업자번호</label>
|
<label for="right" class="label">사업자번호</label>
|
||||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText1" @keyup.enter="search"/>
|
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText1"
|
||||||
|
@keypress="onlyNum" @input="onlyNum" maxlength="10" @keyup.enter="search"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="select_box id">
|
<div class="select_box id">
|
||||||
<label for="right" class="label">명의자 구분</label>
|
<label for="right" class="label">명의자 구분</label>
|
||||||
@@ -31,13 +31,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="right" class="label">고객사명</label>
|
<label for="right" class="label">고객사명</label>
|
||||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText2" @keyup.enter="search"/>
|
<input class="search-box" type="text" id="search" placeholder="검색어 입력"
|
||||||
|
v-model.trim="grid.params.searchText2"
|
||||||
|
@keyup.enter="search" maxlength="100"/>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||||
<div class="select_box NumberSe">
|
<div class="select_box NumberSe">
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
></custom-grid>
|
></custom-grid>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<appr-detail-pop ref="apprDetailPop" />
|
<appr-detail-pop ref="apprDetailPop"/>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -74,26 +74,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import customGrid from '@/components/CustomGrid';
|
import customGrid from '@/components/CustomGrid';
|
||||||
import ApprDetailPop from "@/modules/sendNumMgt/components/ApprDetailPop";
|
import ApprDetailPop from "@/modules/sendNumMgt/components/ApprDetailPop";
|
||||||
|
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||||
class customBRegNo {
|
|
||||||
constructor(props) {
|
|
||||||
this.props = props;
|
|
||||||
const el = document.createElement('td');
|
|
||||||
var bizrno = String(props.colValue);
|
|
||||||
el.innerText= bizrno;
|
|
||||||
if(bizrno.length == 10){
|
|
||||||
el.innerText= bizrno.substring(0,3)+'-'+bizrno.substring(3,5)+'-'+bizrno.substring(5,10)
|
|
||||||
}
|
|
||||||
this.el = el;
|
|
||||||
}
|
|
||||||
|
|
||||||
getElement() {
|
|
||||||
return this.el;
|
|
||||||
}
|
|
||||||
|
|
||||||
addEvent(selEl) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class CustomATagRenderer {
|
class CustomATagRenderer {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
@@ -101,7 +82,7 @@ class CustomATagRenderer {
|
|||||||
const el = document.createElement('a');
|
const el = document.createElement('a');
|
||||||
el.href = 'javascript:void(0);';
|
el.href = 'javascript:void(0);';
|
||||||
el.className = 'btn_text';
|
el.className = 'btn_text';
|
||||||
el.innerText= String(props.colValue)
|
el.innerText = String(props.colValue)
|
||||||
this.el = el;
|
this.el = el;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,7 +92,7 @@ class CustomATagRenderer {
|
|||||||
|
|
||||||
addEvent(selEl) {
|
addEvent(selEl) {
|
||||||
selEl.addEventListener("click", () => {
|
selEl.addEventListener("click", () => {
|
||||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
const {callback} = this.props["cgrido" + this.props.colName].options;
|
||||||
callback(this.props);
|
callback(this.props);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -119,6 +100,7 @@ class CustomATagRenderer {
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'apprList',
|
name: 'apprList',
|
||||||
|
mixins: [utils_mixin, chkPattern2],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
row: {},
|
row: {},
|
||||||
@@ -128,8 +110,8 @@ export default {
|
|||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
// 테이블 리스트 데이터
|
// 테이블 리스트 데이터
|
||||||
perPageCnt: 50,
|
perPageCnt: 50,
|
||||||
searchType1:'',
|
searchType1: '',
|
||||||
searchType2:'',
|
searchType2: '',
|
||||||
grid: {
|
grid: {
|
||||||
url: '/api/v1/bo/sendNumMgt/apprList',
|
url: '/api/v1/bo/sendNumMgt/apprList',
|
||||||
perPage: 50,
|
perPage: 50,
|
||||||
@@ -138,24 +120,25 @@ export default {
|
|||||||
initialRequest: false,
|
initialRequest: false,
|
||||||
addCls: 'box_OFvis',
|
addCls: 'box_OFvis',
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
{name: 'no', header: 'NO', align: 'center', width: '5%'},
|
||||||
{ name: 'regReqNo', hidden: true },
|
{name: 'regReqNo', hidden: true},
|
||||||
{ name: 'regDt', header: '요청일', align: 'center', width: '12%' },
|
{name: 'regDt', header: '요청일', align: 'center', width: '12%'},
|
||||||
{ name: 'adminId', header: '관리자ID', align: 'center', width: '10%'},
|
{name: 'adminId', header: '관리자ID', align: 'center', width: '10%'},
|
||||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: '13%', renderer: {type: customBRegNo}},
|
{name: 'bizrno', header: '사업자번호', align: 'center', width: '13%'},
|
||||||
{ name: 'nmineeDivCd', header: '명의자 구분', align: 'center', width: '10%'},
|
{name: 'nmineeDivCd', header: '명의자 구분', align: 'center', width: '10%'},
|
||||||
{ name: 'custNm', header: '고객사명', align: 'center', width: '10%'},
|
{name: 'custNm', header: '고객사명', align: 'center', width: '10%'},
|
||||||
{ name: 'reqCnt', header: '요청건수', align: 'center', width: '6%', renderer: {
|
{
|
||||||
|
name: 'reqCnt', header: '요청건수', align: 'center', width: '6%', renderer: {
|
||||||
type: CustomATagRenderer
|
type: CustomATagRenderer
|
||||||
,options: {
|
, options: {
|
||||||
callback: this.apprDetail,
|
callback: this.apprDetail,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'apvCnt', header: '승인건수', align: 'center', width: '6%'},
|
{name: 'apvCnt', header: '승인건수', align: 'center', width: '6%'},
|
||||||
{ name: 'rejtCnt', header: '반려건수', align: 'center', width: '6%'},
|
{name: 'rejtCnt', header: '반려건수', align: 'center', width: '6%'},
|
||||||
{ name: 'reqSttusCd', header: '상태', align: 'center', width: '10%'},
|
{name: 'reqSttusCd', header: '상태', align: 'center', width: '10%'},
|
||||||
{ name: 'cmpltDt', header: '완료일', width: '12%' }
|
{name: 'cmpltDt', header: '완료일', width: '12%'}
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
params: {
|
params: {
|
||||||
@@ -172,7 +155,7 @@ export default {
|
|||||||
customGrid: customGrid,
|
customGrid: customGrid,
|
||||||
ApprDetailPop
|
ApprDetailPop
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -191,7 +174,7 @@ export default {
|
|||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
|
|
||||||
let isKeep = false;
|
let isKeep = false;
|
||||||
if(getCondition) {
|
if (getCondition) {
|
||||||
this.grid.pagePerRows = getCondition.perPage;
|
this.grid.pagePerRows = getCondition.perPage;
|
||||||
this.grid.params = getCondition.params;
|
this.grid.params = getCondition.params;
|
||||||
page = getCondition.page;
|
page = getCondition.page;
|
||||||
@@ -200,7 +183,7 @@ export default {
|
|||||||
this.search(isKeep);
|
this.search(isKeep);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
this.grid.params.searchType1 = this.searchType1
|
this.grid.params.searchType1 = this.searchType1
|
||||||
this.grid.params.searchType2 = this.searchType2
|
this.grid.params.searchType2 = this.searchType2
|
||||||
@@ -208,7 +191,7 @@ export default {
|
|||||||
this.$refs.table.search(this.grid.params, isKeep);
|
this.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
console.log("==========getP : " + getP);
|
console.log("==========getP : " + getP);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -224,7 +207,7 @@ export default {
|
|||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
//console.log("getCondition : "+ getCondition.perPage);
|
//console.log("getCondition : "+ getCondition.perPage);
|
||||||
},
|
},
|
||||||
apprDetail(props){
|
apprDetail(props) {
|
||||||
console.log(props)
|
console.log(props)
|
||||||
this.$refs.apprDetailPop.apprDetailPopOpen(props)
|
this.$refs.apprDetailPop.apprDetailPopOpen(props)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
<h3 class="title">문자 발신 번호 목록 조회</h3>
|
<h3 class="title">문자 발신 번호 목록 조회</h3>
|
||||||
<p class="breadcrumb">발신번호관리 > 문자 발신 번호 목록 조회</p>
|
<p class="breadcrumb">발신번호관리 > 문자 발신 번호 목록 조회</p>
|
||||||
</div>
|
</div>
|
||||||
<form autocomplete="off" class="search_form">
|
|
||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="group">
|
<div class="group">
|
||||||
<div class="select_box">
|
<div class="select_box">
|
||||||
@@ -51,12 +50,13 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText1" v-on:keydown.enter.prevent="search"/>
|
<input class="search-box" type="text" id="search" placeholder="검색어 입력"
|
||||||
|
v-model.trim="grid.params.searchText1"
|
||||||
|
maxlength="100" @keyup.enter="search"/>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||||
<div class="select_box NumberSe">
|
<div class="select_box NumberSe">
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
></custom-grid>
|
></custom-grid>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<number-reg-pop ref="numberRegPop"> </number-reg-pop>
|
<number-reg-pop ref="numberRegPop"></number-reg-pop>
|
||||||
<number-detail-pop ref="numberDetailPop"/>
|
<number-detail-pop ref="numberDetailPop"/>
|
||||||
<common-modal ref="commmonModal"></common-modal>
|
<common-modal ref="commmonModal"></common-modal>
|
||||||
|
|
||||||
@@ -111,7 +111,7 @@ class CustomATagRenderer {
|
|||||||
const el = document.createElement('a');
|
const el = document.createElement('a');
|
||||||
el.href = 'javascript:void(0);';
|
el.href = 'javascript:void(0);';
|
||||||
el.className = 'btn_text';
|
el.className = 'btn_text';
|
||||||
el.innerText= String(props.colValue)
|
el.innerText = String(props.colValue)
|
||||||
this.el = el;
|
this.el = el;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,7 +121,7 @@ class CustomATagRenderer {
|
|||||||
|
|
||||||
addEvent(selEl) {
|
addEvent(selEl) {
|
||||||
selEl.addEventListener("click", () => {
|
selEl.addEventListener("click", () => {
|
||||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
const {callback} = this.props["cgrido" + this.props.colName].options;
|
||||||
callback(this.props);
|
callback(this.props);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -136,11 +136,11 @@ export default {
|
|||||||
statType: [],
|
statType: [],
|
||||||
cate2Code: "",
|
cate2Code: "",
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
searchType5:'',
|
searchType5: '',
|
||||||
searchType4:'regNo',
|
searchType4: 'regNo',
|
||||||
searchType3:'',
|
searchType3: '',
|
||||||
searchType2:'',
|
searchType2: '',
|
||||||
searchType1:'',
|
searchType1: '',
|
||||||
|
|
||||||
// 테이블 리스트 데이터
|
// 테이블 리스트 데이터
|
||||||
perPageCnt: 50,
|
perPageCnt: 50,
|
||||||
@@ -153,38 +153,39 @@ export default {
|
|||||||
addCls: 'box_OFvis',
|
addCls: 'box_OFvis',
|
||||||
header: [
|
header: [
|
||||||
[
|
[
|
||||||
{ header: 'NO', childNames: [] },
|
{header: 'NO', childNames: []},
|
||||||
{ header: '고객사명', childNames: [] },
|
{header: '고객사명', childNames: []},
|
||||||
{ header: '관리자ID', childNames: [] },
|
{header: '관리자ID', childNames: []},
|
||||||
{ header: '등록자ID', childNames: [] },
|
{header: '등록자ID', childNames: []},
|
||||||
{ header: '사업자번호', childNames: [] },
|
{header: '사업자번호', childNames: []},
|
||||||
{ header: '명의자 구분', childNames: [] },
|
{header: '명의자 구분', childNames: []},
|
||||||
{ header: '인입채널', childNames: [] },
|
{header: '인입채널', childNames: []},
|
||||||
{ header: '발신번호', childNames: [] },
|
{header: '발신번호', childNames: []},
|
||||||
{ header: '승인상태', childNames: [] },
|
{header: '승인상태', childNames: []},
|
||||||
{ header: '등록일자', childNames: [] }
|
{header: '등록일자', childNames: []}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
{name: 'no', header: 'NO', align: 'center', width: '5%'},
|
||||||
{ name: 'regReqNo', hidden: true},
|
{name: 'regReqNo', hidden: true},
|
||||||
{ name: 'bizrAuthYn', hidden: true},
|
{name: 'bizrAuthYn', hidden: true},
|
||||||
{ name: 'custNm', header: '고객사명', align: 'center', width: '5%' },
|
{name: 'custNm', header: '고객사명', align: 'center', width: '5%'},
|
||||||
{ name: 'adminId', header: '관리자ID', align: 'center', width: '10%' },
|
{name: 'adminId', header: '관리자ID', align: 'center', width: '10%'},
|
||||||
{ name: 'register', header: '등록자ID', align: 'center', width: '10%' },
|
{name: 'register', header: '등록자ID', align: 'center', width: '10%'},
|
||||||
{ name: 'bregNo', header: '사업자번호', align: 'center', width: '10%'},
|
{name: 'bregNo', header: '사업자번호', align: 'center', width: '10%'},
|
||||||
{ name: 'nmineeDivCd', header: '명의자 구분', align: 'center', width: '10%'},
|
{name: 'nmineeDivCd', header: '명의자 구분', align: 'center', width: '10%'},
|
||||||
{ name: 'inchDivCd', header: '인입채널', align: 'center', width: '10%'},
|
{name: 'inchDivCd', header: '인입채널', align: 'center', width: '10%'},
|
||||||
{ name: 'sndrno', header: '발신번호', align: 'center', width: '10%', renderer: {
|
{
|
||||||
|
name: 'sndrno', header: '발신번호', align: 'center', width: '10%', renderer: {
|
||||||
type: CustomATagRenderer
|
type: CustomATagRenderer
|
||||||
,options: {
|
, options: {
|
||||||
callback: this.numberDetail,
|
callback: this.numberDetail,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'sttusCd', header: '승인상태', align: 'center', width: '10%'},
|
{name: 'sttusCd', header: '승인상태', align: 'center', width: '10%'},
|
||||||
{ name: 'regDt', header: '등록일자', width: '10%', cls: 'td_line' }
|
{name: 'regDt', header: '등록일자', width: '10%', cls: 'td_line'}
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
params: {
|
params: {
|
||||||
@@ -207,7 +208,7 @@ export default {
|
|||||||
NumberDetailPop,
|
NumberDetailPop,
|
||||||
commonModal,
|
commonModal,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
// const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
// const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
@@ -221,7 +222,8 @@ export default {
|
|||||||
searchType4: '',
|
searchType4: '',
|
||||||
searchText1: '',
|
searchText1: '',
|
||||||
pagePerRows: '',
|
pagePerRows: '',
|
||||||
page: ''}
|
page: ''
|
||||||
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@@ -240,7 +242,7 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
this.grid.params.searchType1 = this.searchType1
|
this.grid.params.searchType1 = this.searchType1
|
||||||
this.grid.params.searchType2 = this.searchType2
|
this.grid.params.searchType2 = this.searchType2
|
||||||
@@ -251,7 +253,7 @@ export default {
|
|||||||
this.$refs.table.search(this.grid.params, isKeep);
|
this.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
console.log("==========getP : " + getP);
|
console.log("==========getP : " + getP);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -262,24 +264,24 @@ export default {
|
|||||||
|
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
},
|
},
|
||||||
numberRegPopOpen: function(){
|
numberRegPopOpen: function () {
|
||||||
this.$refs.numberRegPop.numberRegPopopen();
|
this.$refs.numberRegPop.numberRegPopopen();
|
||||||
},
|
},
|
||||||
numberDetail(props){
|
numberDetail(props) {
|
||||||
console.log(props)
|
console.log(props)
|
||||||
this.$refs.numberDetailPop.numberDetailPopOpen(props);
|
this.$refs.numberDetailPop.numberDetailPopOpen(props);
|
||||||
},
|
},
|
||||||
commonModalOpen(row){
|
commonModalOpen(row) {
|
||||||
this.$refs.commmonModal.alertModalOpen(row);
|
this.$refs.commmonModal.alertModalOpen(row);
|
||||||
},
|
},
|
||||||
deleteNumber(){
|
deleteNumber() {
|
||||||
if(this.doValidate()){
|
if (this.doValidate()) {
|
||||||
this.row.title ='문자발신번호 관리';
|
this.row.title = '문자발신번호 관리';
|
||||||
this.row.msg1 ='삭제 하시겠습니까?'
|
this.row.msg1 = '삭제 하시겠습니까?'
|
||||||
this.$refs.commmonModal.confirmModalOpen2(this.row);
|
this.$refs.commmonModal.confirmModalOpen2(this.row);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async numberDelete(){
|
async numberDelete() {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let response = await sendNumMgtApi.deleteNumber(this.row);
|
let response = await sendNumMgtApi.deleteNumber(this.row);
|
||||||
@@ -292,38 +294,38 @@ export default {
|
|||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
}
|
}
|
||||||
} catch(err) {
|
} catch (err) {
|
||||||
this.row.title = '문자발신번호 관리';
|
this.row.title = '문자발신번호 관리';
|
||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
doValidate(){ //로우데이터 삭제하도록 수정
|
doValidate() { //로우데이터 삭제하도록 수정
|
||||||
|
|
||||||
console.log("totalItems >> " + this.totalItems);
|
console.log("totalItems >> " + this.totalItems);
|
||||||
if(this.totalItems == 0){
|
if (this.totalItems == 0) {
|
||||||
this.row.title = '문자발신번호 관리';
|
this.row.title = '문자발신번호 관리';
|
||||||
this.row.msg1 = '검색 결과가 없습니다.';
|
this.row.msg1 = '검색 결과가 없습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var chkList = this.$refs.table.checkedElementDatas();
|
var chkList = this.$refs.table.checkedElementDatas();
|
||||||
if(chkList.length == 0){
|
if (chkList.length == 0) {
|
||||||
this.row.title = '문자발신번호 관리';
|
this.row.title = '문자발신번호 관리';
|
||||||
this.row.msg1 = '삭제대상을 체크를 해주세요.';
|
this.row.msg1 = '삭제대상을 체크를 해주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
//const param = chkList.map((row)=>({regReqNo:row.regReqNo} ));
|
//const param = chkList.map((row)=>({regReqNo:row.regReqNo} ));
|
||||||
const param = chkList.map((row)=>({seqNo:row.seqNo} ));
|
const param = chkList.map((row) => ({seqNo: row.seqNo}));
|
||||||
console.log(param)
|
console.log(param)
|
||||||
this.row.list = param;
|
this.row.list = param;
|
||||||
console.log(this.row);
|
console.log(this.row);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
confirmCalbackFnc(props){
|
confirmCalbackFnc(props) {
|
||||||
console.log(props)
|
console.log(props)
|
||||||
if(props.result){
|
if (props.result) {
|
||||||
this.numberDelete();
|
this.numberDelete();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
<h3 class="title">발신프로필관리</h3>
|
<h3 class="title">발신프로필관리</h3>
|
||||||
<p class="breadcrumb">발신번호관리 > 발신프로필관리</p>
|
<p class="breadcrumb">발신번호관리 > 발신프로필관리</p>
|
||||||
</div>
|
</div>
|
||||||
<form autocomplete="off" class="search_form">
|
|
||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="select_box">
|
<div class="select_box">
|
||||||
<label for="stat" class="label">상태</label>
|
<label for="stat" class="label">상태</label>
|
||||||
@@ -28,13 +27,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="input_box id">
|
<div class="input_box id">
|
||||||
<label for="search" class="label">검색어</label>
|
<label for="search" class="label">검색어</label>
|
||||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText1" v-on:keydown.enter.prevent="search" />
|
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model.trim="grid.params.searchText1"
|
||||||
|
maxlength="100" @keyup="search"/>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">총 <span> {{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}} </span>건
|
<div class="count">총 <span> {{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }} </span>건
|
||||||
<div class="select_box NumberSe">
|
<div class="select_box NumberSe">
|
||||||
<select name="" id="perpage" v-model="grid.pagePerRows" @keyup.enter="search">
|
<select name="" id="perpage" v-model="grid.pagePerRows" @keyup.enter="search">
|
||||||
<option value="20">20</option>
|
<option value="20">20</option>
|
||||||
@@ -65,26 +64,9 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import customGrid from '@/components/CustomGrid';
|
import customGrid from '@/components/CustomGrid';
|
||||||
|
|
||||||
//import api from '../service/api';
|
//import api from '../service/api';
|
||||||
class customBRegNo {
|
|
||||||
constructor(props) {
|
|
||||||
this.props = props;
|
|
||||||
const el = document.createElement('td');
|
|
||||||
var bregNo = String(props.colValue);
|
|
||||||
el.innerText= bregNo;
|
|
||||||
if(bregNo.length == 10){
|
|
||||||
el.innerText= bregNo.substring(0,3)+'-'+bregNo.substring(3,5)+'-'+bregNo.substring(5,10)
|
|
||||||
}
|
|
||||||
this.el = el;
|
|
||||||
}
|
|
||||||
|
|
||||||
getElement() {
|
|
||||||
return this.el;
|
|
||||||
}
|
|
||||||
|
|
||||||
addEvent(selEl) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
export default {
|
export default {
|
||||||
name: 'profileList',
|
name: 'profileList',
|
||||||
data() {
|
data() {
|
||||||
@@ -94,8 +76,8 @@ export default {
|
|||||||
statType: [],
|
statType: [],
|
||||||
cate2Code: "",
|
cate2Code: "",
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
searchType1:'',
|
searchType1: '',
|
||||||
searchType2:'custNm',
|
searchType2: 'custNm',
|
||||||
// 테이블 리스트 데이터
|
// 테이블 리스트 데이터
|
||||||
perPageCnt: 20,
|
perPageCnt: 20,
|
||||||
grid: {
|
grid: {
|
||||||
@@ -107,24 +89,24 @@ export default {
|
|||||||
addCls: 'box_OFvis',
|
addCls: 'box_OFvis',
|
||||||
header: [
|
header: [
|
||||||
[
|
[
|
||||||
{ header: 'NO', childNames: [] },
|
{header: 'NO', childNames: []},
|
||||||
{ header: '고객사명', childNames: [] },
|
{header: '고객사명', childNames: []},
|
||||||
{ header: '사업자번호', childNames: [] },
|
{header: '사업자번호', childNames: []},
|
||||||
{ header: '발신프로필', childNames: [] },
|
{header: '발신프로필', childNames: []},
|
||||||
{ header: '발신프로필key', childNames: [] },
|
{header: '발신프로필key', childNames: []},
|
||||||
{ header: '상태', childNames: [] },
|
{header: '상태', childNames: []},
|
||||||
{ header: '등록일', childNames: [] },
|
{header: '등록일', childNames: []},
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'NO', align: 'center', width: 50 },
|
{name: 'no', header: 'NO', align: 'center', width: 50},
|
||||||
{ name: 'custNm', header: '고객사명', align: 'center', width: 200 },
|
{name: 'custNm', header: '고객사명', align: 'center', width: 200},
|
||||||
{ name: 'bregNo', header: '사업자번호', align: 'center', width: 100, renderer: {type: customBRegNo}},
|
{name: 'bregNo', header: '사업자번호', align: 'center', width: 100},
|
||||||
{ name: 'sendProfile', header: '발신프로필', align: 'center', width: 100},
|
{name: 'sendProfile', header: '발신프로필', align: 'center', width: 100},
|
||||||
{ name: 'sendProfileKey', header: '발신프로필key', align: 'center', width: 100},
|
{name: 'sendProfileKey', header: '발신프로필key', align: 'center', width: 100},
|
||||||
{ name: 'stat', header: '상태', width: 100, cls: 'td_line' },
|
{name: 'stat', header: '상태', width: 100, cls: 'td_line'},
|
||||||
{ name: 'regDt', header: '등록일', align: 'center', width: 150},
|
{name: 'regDt', header: '등록일', align: 'center', width: 150},
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
params: {
|
params: {
|
||||||
@@ -138,7 +120,7 @@ export default {
|
|||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
customGrid: customGrid,
|
customGrid: customGrid,
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
page: 1,
|
page: 1,
|
||||||
@@ -150,7 +132,7 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -159,7 +141,7 @@ export default {
|
|||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
|
|
||||||
let isKeep = false;
|
let isKeep = false;
|
||||||
if(getCondition) {
|
if (getCondition) {
|
||||||
this.grid.pagePerRows = getCondition.perPage;
|
this.grid.pagePerRows = getCondition.perPage;
|
||||||
this.grid.params = getCondition.params;
|
this.grid.params = getCondition.params;
|
||||||
page = getCondition.page;
|
page = getCondition.page;
|
||||||
@@ -168,14 +150,14 @@ export default {
|
|||||||
this.search(isKeep);
|
this.search(isKeep);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
this.grid.params.searchType1 = this.searchType1
|
this.grid.params.searchType1 = this.searchType1
|
||||||
this.grid.params.searchType2 = this.searchType2
|
this.grid.params.searchType2 = this.searchType2
|
||||||
this.$refs.table.search(this.grid.params, isKeep);
|
this.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
console.log("==========getP : " + getP);
|
console.log("==========getP : " + getP);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
<h3 class="title">080수신거부 인증코드 조회</h3>
|
<h3 class="title">080수신거부 인증코드 조회</h3>
|
||||||
<p class="breadcrumb">서비스관리 > 080수신거부 인증코드 조회</p>
|
<p class="breadcrumb">서비스관리 > 080수신거부 인증코드 조회</p>
|
||||||
</div>
|
</div>
|
||||||
<form autocomplete="off" class="search_form">
|
|
||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="select_box">
|
<div class="select_box">
|
||||||
<label for="stat" class="label">사용상태</label>
|
<label for="stat" class="label">사용상태</label>
|
||||||
@@ -25,16 +24,19 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="input_box id">
|
<div class="input_box id">
|
||||||
<label for="search" class="label">검색어</label>
|
<label for="search" class="label">검색어</label>
|
||||||
<input type="text" id="id1" placeholder="검색어 입력" v-model="grid.params.searchText1" v-on:keydown.enter.prevent="search"/>
|
<input type="text" id="id1" placeholder="검색어 입력" v-model.trim="grid.params.searchText1"
|
||||||
|
@keyup.enter="search" maxlength="100"/>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||||
<div class="select_box NumberSe">
|
<div class="select_box NumberSe">
|
||||||
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
<select name="" id="" v-model="perPageCnt" @change="changePerPage()">
|
||||||
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{ option.text }}</option>
|
<option v-for="option in options" v-bind:value="option.value" v-bind:key="option.value">{{
|
||||||
|
option.text
|
||||||
|
}}
|
||||||
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -68,27 +70,6 @@ import customGrid from '@/components/CustomGrid';
|
|||||||
//import api from '../service/api';
|
//import api from '../service/api';
|
||||||
import commonModal from "@/components/modal/commonModal";
|
import commonModal from "@/components/modal/commonModal";
|
||||||
|
|
||||||
class customBRegNo {
|
|
||||||
constructor(props) {
|
|
||||||
this.props = props;
|
|
||||||
const el = document.createElement('td');
|
|
||||||
var bregNo = String(props.colValue);
|
|
||||||
el.innerText= bregNo;
|
|
||||||
if(bregNo.length == 10){
|
|
||||||
el.innerText= bregNo.substring(0,3)+'-'+bregNo.substring(3,5)+'-'+bregNo.substring(5,10)
|
|
||||||
}
|
|
||||||
this.el = el;
|
|
||||||
}
|
|
||||||
|
|
||||||
getElement() {
|
|
||||||
return this.el;
|
|
||||||
}
|
|
||||||
|
|
||||||
addEvent(selEl) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'rejectRecvList',
|
name: 'rejectRecvList',
|
||||||
data() {
|
data() {
|
||||||
@@ -98,14 +79,14 @@ export default {
|
|||||||
statType: [],
|
statType: [],
|
||||||
cate2Code: "",
|
cate2Code: "",
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
searchType1:'',
|
searchType1: '',
|
||||||
searchType2:'custNm',
|
searchType2: 'custNm',
|
||||||
// 테이블 리스트 데이터
|
// 테이블 리스트 데이터
|
||||||
perPageCnt: 50,
|
perPageCnt: 50,
|
||||||
options: [
|
options: [
|
||||||
{ text: '20', value: 20},
|
{text: '20', value: 20},
|
||||||
{ text: '50', value: 50},
|
{text: '50', value: 50},
|
||||||
{ text: '100', value: 100}
|
{text: '100', value: 100}
|
||||||
],
|
],
|
||||||
grid: {
|
grid: {
|
||||||
url: '/api/v1/bo/servMgt/rejectRecvList',
|
url: '/api/v1/bo/servMgt/rejectRecvList',
|
||||||
@@ -116,26 +97,26 @@ export default {
|
|||||||
addCls: 'box_OFvis',
|
addCls: 'box_OFvis',
|
||||||
header: [
|
header: [
|
||||||
[
|
[
|
||||||
{ header: 'NO', childNames: [] },
|
{header: 'NO', childNames: []},
|
||||||
{ header: '고객사명(이름)', childNames: [] },
|
{header: '고객사명(이름)', childNames: []},
|
||||||
{ header: '사업자번호(생년월일)', childNames: [] },
|
{header: '사업자번호(생년월일)', childNames: []},
|
||||||
{ header: '관리자ID', childNames: [] },
|
{header: '관리자ID', childNames: []},
|
||||||
{ header: '인증코드', childNames: [] },
|
{header: '인증코드', childNames: []},
|
||||||
{ header: '사용여부', childNames: [] },
|
{header: '사용여부', childNames: []},
|
||||||
{ header: '등록일', childNames: [] },
|
{header: '등록일', childNames: []},
|
||||||
{ header: '최종수정일', childNames: [] }
|
{header: '최종수정일', childNames: []}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
{name: 'no', header: 'NO', align: 'center', width: '5%'},
|
||||||
{ name: 'custNm', header: '고객사명', align: 'center', width: '15%' },
|
{name: 'custNm', header: '고객사명', align: 'center', width: '15%'},
|
||||||
{ name: 'bregNo', header: '사업자번호', align: 'center', width: '10%', renderer: {type: customBRegNo}},
|
{name: 'bregNo', header: '사업자번호', align: 'center', width: '10%'},
|
||||||
{ name: 'userId', header: '관리자ID', align: 'center', width: '15%'},
|
{name: 'userId', header: '관리자ID', align: 'center', width: '15%'},
|
||||||
{ name: 'authcd080', header: '인증코드', align: 'center', width: '10%'},
|
{name: 'authcd080', header: '인증코드', align: 'center', width: '10%'},
|
||||||
{ name: 'useYN', header: '사용여부', align: 'center', width: '10%', cls: 'td_line' },
|
{name: 'useYN', header: '사용여부', align: 'center', width: '10%', cls: 'td_line'},
|
||||||
{ name: 'regDt', header: '등록일', align: 'center', width: '15%'},
|
{name: 'regDt', header: '등록일', align: 'center', width: '15%'},
|
||||||
{ name: 'chgDt', header: '마지막 수정일', align: 'center', width: '15%', cls: 'td_line' }
|
{name: 'chgDt', header: '마지막 수정일', align: 'center', width: '15%', cls: 'td_line'}
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
params: {
|
params: {
|
||||||
@@ -151,7 +132,7 @@ export default {
|
|||||||
customGrid: customGrid,
|
customGrid: customGrid,
|
||||||
commonModal
|
commonModal
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
@@ -161,7 +142,8 @@ export default {
|
|||||||
params: {
|
params: {
|
||||||
searchType1: '',
|
searchType1: '',
|
||||||
searchType2: '',
|
searchType2: '',
|
||||||
searchText1: ''}
|
searchText1: ''
|
||||||
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@@ -181,14 +163,14 @@ export default {
|
|||||||
this.search(isKeep);
|
this.search(isKeep);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
this.grid.params.searchType1 = this.searchType1
|
this.grid.params.searchType1 = this.searchType1
|
||||||
this.grid.params.searchType2 = this.searchType2
|
this.grid.params.searchType2 = this.searchType2
|
||||||
this.$refs.table.search(this.grid.params, isKeep);
|
this.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
console.log("==========getP : " + getP);
|
console.log("==========getP : " + getP);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -204,7 +186,7 @@ export default {
|
|||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
//console.log("getCondition : "+ getCondition.perPage);
|
//console.log("getCondition : "+ getCondition.perPage);
|
||||||
},
|
},
|
||||||
changePerPage: function(){ // 페이지당 조회할 개수
|
changePerPage: function () { // 페이지당 조회할 개수
|
||||||
this.grid.pagePerRows = this.perPageCnt;
|
this.grid.pagePerRows = this.perPageCnt;
|
||||||
this.search(true);
|
this.search(true);
|
||||||
},
|
},
|
||||||
|
|||||||
358
frontend/src/modules/stats/service/mixins.js
Normal file
358
frontend/src/modules/stats/service/mixins.js
Normal file
@@ -0,0 +1,358 @@
|
|||||||
|
import lodash from "lodash";
|
||||||
|
|
||||||
|
const utils_mixin = {
|
||||||
|
methods: {
|
||||||
|
/** * 이메일 형식 체크 * * @param 데이터 */
|
||||||
|
emailCheck(email, rtnArrYn) {
|
||||||
|
if (this.isNull(rtnArrYn)) {
|
||||||
|
rtnArrYn = 'N';
|
||||||
|
}
|
||||||
|
// var regExp = /(^[A-Za-z0-9_\.\-]+)@([A-Za-z0-9\-]+\.[A-Za-z0-9\-]+)/;
|
||||||
|
var regExp = /^([0-9a-zA-Z_\.\-]([-_.]?[0-9a-zA-Z_\.\-])*)@([0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$)/i;//이메일 정규식
|
||||||
|
|
||||||
|
if (regExp.test(email) == false) {
|
||||||
|
// 이메일 형식이 알파벳+숫자@알파벳+숫자.알파벳+숫자 형식이 아닐경우
|
||||||
|
if (rtnArrYn == 'Y') {
|
||||||
|
return email;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
var myArray = regExp.exec(email);
|
||||||
|
if (rtnArrYn == 'Y') {
|
||||||
|
return myArray;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
/** * 전화번호 포맷으로 변환 * * @param 데이터 */
|
||||||
|
formatPhone(phoneNum, fmt, rtnArrYn) {
|
||||||
|
if (this.isNull(fmt)) {
|
||||||
|
fmt = '';
|
||||||
|
}
|
||||||
|
if (this.isNull(rtnArrYn)) {
|
||||||
|
fmt = 'N';
|
||||||
|
}
|
||||||
|
if (this.isPhone(phoneNum)) {
|
||||||
|
var rtnNum;
|
||||||
|
var regExp = /(02)([0-9]{3,4})([0-9]{4})$/;
|
||||||
|
var myArray;
|
||||||
|
if (regExp.test(phoneNum)) {
|
||||||
|
myArray = regExp.exec(phoneNum);
|
||||||
|
rtnNum = myArray[1] + fmt + myArray[2] + fmt + myArray[3];
|
||||||
|
if (rtnArrYn == 'Y') {
|
||||||
|
return myArray;
|
||||||
|
}
|
||||||
|
return rtnNum;
|
||||||
|
} else {
|
||||||
|
regExp = /(0[3-9]{1}[0-9]{1})([0-9]{3,4})([0-9]{4})$/;
|
||||||
|
if (regExp.test(phoneNum)) {
|
||||||
|
myArray = regExp.exec(phoneNum);
|
||||||
|
rtnNum = myArray[1] + fmt + myArray[2] + fmt + myArray[3];
|
||||||
|
if (rtnArrYn == 'Y') {
|
||||||
|
return myArray;
|
||||||
|
}
|
||||||
|
return rtnNum;
|
||||||
|
} else {
|
||||||
|
return phoneNum;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return phoneNum;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/** * 핸드폰번호 포맷으로 변환 * * @param 데이터 */
|
||||||
|
formatMobile(phoneNum, fmt, rtnArrYn) {
|
||||||
|
|
||||||
|
if (this.isNull(fmt)) {
|
||||||
|
fmt = '';
|
||||||
|
}
|
||||||
|
if (this.isNull(rtnArrYn)) {
|
||||||
|
fmt = 'N';
|
||||||
|
}
|
||||||
|
if (this.isMobile(phoneNum)) {
|
||||||
|
|
||||||
|
var rtnNum;
|
||||||
|
var regExp = /(01[016789])([0-9]{3,4})([0-9]{4})$/;
|
||||||
|
var myArray;
|
||||||
|
|
||||||
|
if (regExp.test(phoneNum)) {
|
||||||
|
|
||||||
|
myArray = regExp.exec(phoneNum);
|
||||||
|
rtnNum = myArray[1] + fmt + myArray[2] + fmt + myArray[3];
|
||||||
|
if (rtnArrYn == 'Y') {
|
||||||
|
return myArray;
|
||||||
|
}
|
||||||
|
return rtnNum;
|
||||||
|
} else {
|
||||||
|
return phoneNum;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return phoneNum;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/** * 전화번호 형식 체크 * * @param 데이터 */
|
||||||
|
isPhone(phoneNum) {
|
||||||
|
var regExp = /(02)([0-9]{3,4})([0-9]{4})$/;
|
||||||
|
if (regExp.test(phoneNum)) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
regExp = /(0[3-9]{1}[0-9]{1})([0-9]{3,4})([0-9]{4})$/;
|
||||||
|
if (regExp.test(phoneNum)) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/** * 핸드폰번호 형식 체크 * * @param 데이터 */
|
||||||
|
isMobile(phoneNum) {
|
||||||
|
var regExp = /(01[016789])([0-9]{3,4})([0-9]{4})$/;
|
||||||
|
var myArray;
|
||||||
|
if (regExp.test(phoneNum)) {
|
||||||
|
myArray = regExp.exec(phoneNum);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
isMobile2(phoneNum) {
|
||||||
|
var regExp = /(1[016789])([0-9]{3,4})([0-9]{4})$/;
|
||||||
|
var myArray;
|
||||||
|
if (regExp.test(phoneNum)) {
|
||||||
|
myArray = regExp.exec(phoneNum);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
isNull(obj) {
|
||||||
|
if (lodash.isNil(obj) || lodash.trim(obj) == '') {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
getParent(name) {
|
||||||
|
let p = this.$parent;
|
||||||
|
while (typeof p !== 'undefined') {
|
||||||
|
if (p.$options.name == name) {
|
||||||
|
return p;
|
||||||
|
} else {
|
||||||
|
p = p.$parent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
getJsonObj(str) {
|
||||||
|
return JSON.parse(JSON.stringify(str));
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var chkPattern2 = {
|
||||||
|
data: function () {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
selSesStorage(keyLike) {
|
||||||
|
if (this.isNull(keyLike)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (sessionStorage.length > 0) {
|
||||||
|
let keyList = [];
|
||||||
|
for (let i = 0; i < sessionStorage.length; i++) {
|
||||||
|
const keyNm = sessionStorage.key(i);
|
||||||
|
if (keyNm.indexOf(keyLike) > -1) {
|
||||||
|
keyList.push({name: keyNm, value: sessionStorage.getItem(keyNm)});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (keyList.length > 0) {
|
||||||
|
return keyList;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
},
|
||||||
|
|
||||||
|
delSesStorage(keyList) {
|
||||||
|
if (this.isNull(keyList)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (keyList.length > 0) {
|
||||||
|
keyList.map((o) => (sessionStorage.removeItem(o.name)));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
setGridMouseDownActive() {
|
||||||
|
const ele = document.querySelector(`div.tui-grid-container.tui-grid-show-lside-area`);
|
||||||
|
if (window.getEventListeners(ele).mousedown) {
|
||||||
|
ele.removeEventListener('mousedown', window.getEventListeners(ele).mousedown[0].listener);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
restrictChars: function ($event, regExp, hanYn) {
|
||||||
|
|
||||||
|
if (this.isNull(hanYn)) {
|
||||||
|
hanYn = 'N';
|
||||||
|
}
|
||||||
|
if (hanYn === 'N' && $event.type === 'keydown') {
|
||||||
|
if ($event.keyCode === 229) {
|
||||||
|
$event.preventDefault();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($event.type === 'keypress') {
|
||||||
|
//한글 처리 불가
|
||||||
|
if (regExp.test(String.fromCharCode($event.charCode))) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
$event.preventDefault();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (hanYn === 'N' && ($event.type === 'keyup' || $event.type === 'input' || $event.type === 'change' || $event.type === 'blur')) {
|
||||||
|
$event.target.value = $event.target.value.replace(/[ㄱ-ㅎㅏ-ㅣ가-힣]/g, '');
|
||||||
|
$event.preventDefault();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
setLenth: function (e, len) {
|
||||||
|
this.cut(e, len);
|
||||||
|
},
|
||||||
|
onlyCustom: function (e, strRegExp, hanYn) {
|
||||||
|
var regExp_g = new RegExp(strRegExp, 'g');
|
||||||
|
this.cut(e);
|
||||||
|
return this.restrictChars(e, regExp_g, hanYn);
|
||||||
|
},
|
||||||
|
onlyCommon: function (strRegExp, e, len, isEventCall, hanYn) {
|
||||||
|
var regExp_g = new RegExp(strRegExp, 'g');
|
||||||
|
if (isEventCall === 'N') {
|
||||||
|
if (!this.cut(e, len, isEventCall)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!regExp_g.test(e.value)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
this.cut(e, len);
|
||||||
|
return this.restrictChars(e, regExp_g, hanYn);
|
||||||
|
},
|
||||||
|
onlyNum: function (e, len, isEventCall) {
|
||||||
|
var strRegExp = '^[0-9]*$';
|
||||||
|
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
||||||
|
},
|
||||||
|
onlyEng: function (e, len, isEventCall) {
|
||||||
|
var strRegExp = '^[A-Za-z]*$';
|
||||||
|
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
||||||
|
},
|
||||||
|
onlyLowerEng: function (e, len, isEventCall) {
|
||||||
|
var strRegExp = '^[a-z]*$';
|
||||||
|
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
||||||
|
},
|
||||||
|
onlyUpperEng: function (e, len, isEventCall) {
|
||||||
|
var strRegExp = '^[A-Z]*$';
|
||||||
|
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
||||||
|
},
|
||||||
|
onlyEmail: function (e, len, isEventCall) {
|
||||||
|
var strRegExp = '^[a-zA-Z0-9_\.\-@._-]*$';
|
||||||
|
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
||||||
|
},
|
||||||
|
onlyName: function (e, len, isEventCall) {
|
||||||
|
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z]*$';
|
||||||
|
return this.onlyCommon(strRegExp, e, len, isEventCall, 'Y');
|
||||||
|
},
|
||||||
|
onlyTitle: function (e, len, isEventCall) {
|
||||||
|
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]*$';
|
||||||
|
return this.onlyCommon(strRegExp, e, len, isEventCall, 'Y');
|
||||||
|
},
|
||||||
|
onlyText: function (e, len, isEventCall) {
|
||||||
|
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9_-]*$';
|
||||||
|
return this.onlyCommon(strRegExp, e, len, isEventCall, 'Y');
|
||||||
|
},
|
||||||
|
onlyPassword: function (e, len, isEventCall) {
|
||||||
|
var strRegExp = '^[A-Za-z0-9!@#$%^&*]*$';
|
||||||
|
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
||||||
|
},
|
||||||
|
onlyId: function (e, len, isEventCall) {
|
||||||
|
var strRegExp = '^[A-Za-z0-9_\.\-]*$';
|
||||||
|
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
||||||
|
},
|
||||||
|
onlyIp: function (e, len, isEventCall) {
|
||||||
|
var strRegExp = '^[0-9,.*]*$';
|
||||||
|
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
||||||
|
},
|
||||||
|
onlyRoleNm_Space: function (e, len, isEventCall) {
|
||||||
|
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]*$';
|
||||||
|
return this.onlyCommon(strRegExp, e, len, isEventCall, 'Y');
|
||||||
|
},
|
||||||
|
onlyRoleId_UnderBar: function (e, len, isEventCall) {
|
||||||
|
var strRegExp = '^[a-zA-Z0-9_]*$';
|
||||||
|
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
||||||
|
},
|
||||||
|
cut: function (ele, len, isValidChk) {
|
||||||
|
let e = ele;
|
||||||
|
if (typeof ele.target != "undefined") {
|
||||||
|
e = ele.target;
|
||||||
|
}
|
||||||
|
let max = this.isNull(len) ? e.attributes.maxlength.value : len;
|
||||||
|
let str = e.value;
|
||||||
|
|
||||||
|
if (this.bytes(str) > max) {
|
||||||
|
if (this.isNull(isValidChk)) {
|
||||||
|
e.value = this.cutBytes(str, max);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
cutBytes: function (str, len) {
|
||||||
|
while (1 === 1) {
|
||||||
|
if (this.bytes(str) <= len) {
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
str = str.slice(0, -1);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
bytes: function (str) {
|
||||||
|
var length = ((s, b, i, c) => {
|
||||||
|
// for(b=i=0;c=s.charCodeAt(i++);b+=c>>11?3:c>>7?2:1); // 한글 3바이트
|
||||||
|
// for(b=i=0;c=s.charCodeAt(i++);b+=c>>11?2:c>>7?1:1); //한글 2바이트
|
||||||
|
b = 0, i = 0;
|
||||||
|
while (1 === 1) {
|
||||||
|
c = s.charCodeAt(i++);
|
||||||
|
if (isNaN(c)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
b += c >> 11 ? 2 : c >> 7 ? 1 : 1;
|
||||||
|
}
|
||||||
|
return b
|
||||||
|
})(str);
|
||||||
|
return length;
|
||||||
|
},
|
||||||
|
checkPhone: function (str) {
|
||||||
|
str = str.replace(/[-\s]+/g, '');
|
||||||
|
if (str.charAt(0) != "0") {
|
||||||
|
str = "0" + str;
|
||||||
|
}
|
||||||
|
if (str.length < 10 || str.length > 12) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
if (isNaN(str)) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
if (str.substr(0, 2) != "01" && str.substr(0, 3) != "070" && str.substr(0, 4) != "0505" && str.substr(0, 4) != "0503") {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
export {utils_mixin, chkPattern2};
|
||||||
@@ -6,14 +6,10 @@
|
|||||||
<h3 class="title">사업자별 통계</h3>
|
<h3 class="title">사업자별 통계</h3>
|
||||||
<p class="breadcrumb">발송통계 > 사업자별 통계</p>
|
<p class="breadcrumb">발송통계 > 사업자별 통계</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="top_tab">
|
<div class="top_tab">
|
||||||
<a href="javascript:void(0);" @click="toMove('bsnmMonthList')">월별통계</a>
|
<a href="javascript:void(0);" @click="toMove('bsnmMonthList')">월별통계</a>
|
||||||
<a href="javascript:void(0);" class="on">일별통계</a>
|
<a href="javascript:void(0);" class="on">일별통계</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<form autocomplete="off" class="search_form">
|
|
||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="input_box cal">
|
<div class="input_box cal">
|
||||||
<label for="right" class="label txt">날짜</label>
|
<label for="right" class="label txt">날짜</label>
|
||||||
@@ -51,15 +47,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="input_box id">
|
<div class="input_box id">
|
||||||
<label for="name" class="label">고객사명</label>
|
<label for="name" class="label">고객사명</label>
|
||||||
<input type="text" id="name" placeholder="검색어 입력" v-model="grid.params.custNm">
|
<input type="text" id="name" placeholder="검색어 입력" v-model.trim="grid.params.custNm">
|
||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="name" class="label">사업자등록번호</label>
|
<label for="name" class="label">사업자등록번호</label>
|
||||||
<input type="text" id="name" placeholder="검색어 입력" v-model="grid.params.bizrno">
|
<input type="text" id="name" placeholder="검색어 입력" v-model.trim="grid.params.bizrno" @keypress="onlyNum"
|
||||||
|
@input="onlyNum" maxlength="10">
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">집계결과</div>
|
<div class="count">집계결과</div>
|
||||||
<div class="button_group">
|
<div class="button_group">
|
||||||
@@ -94,9 +90,11 @@ import statsApi from "../service/statsApi.js";
|
|||||||
import customGrid from '@/components/CustomGrid';
|
import customGrid from '@/components/CustomGrid';
|
||||||
import xlsx from '@/common/excel';
|
import xlsx from '@/common/excel';
|
||||||
import commonModal from "@/components/modal/commonModal";
|
import commonModal from "@/components/modal/commonModal";
|
||||||
|
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'bsnmDayList',
|
name: 'bsnmDayList',
|
||||||
|
mixins: [utils_mixin, chkPattern2],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 달력 데이터
|
// 달력 데이터
|
||||||
@@ -106,14 +104,14 @@ export default {
|
|||||||
startDate: new Date(),
|
startDate: new Date(),
|
||||||
endDate: new Date(),
|
endDate: new Date(),
|
||||||
|
|
||||||
startDt:'',
|
startDt: '',
|
||||||
endDt:'',
|
endDt: '',
|
||||||
startYear:'',
|
startYear: '',
|
||||||
startMonth:'',
|
startMonth: '',
|
||||||
endYear:'',
|
endYear: '',
|
||||||
endMonth:'',
|
endMonth: '',
|
||||||
row: {},
|
row: {},
|
||||||
list:[],
|
list: [],
|
||||||
totalCnt: '',
|
totalCnt: '',
|
||||||
|
|
||||||
pageType: 'BSNM_DAY',
|
pageType: 'BSNM_DAY',
|
||||||
@@ -121,9 +119,9 @@ export default {
|
|||||||
// 테이블 리스트 데이터
|
// 테이블 리스트 데이터
|
||||||
perPageCnt: 50,
|
perPageCnt: 50,
|
||||||
options: [
|
options: [
|
||||||
{ text: '20', value: 20},
|
{text: '20', value: 20},
|
||||||
{ text: '50', value: 50},
|
{text: '50', value: 50},
|
||||||
{ text: '100', value: 100}
|
{text: '100', value: 100}
|
||||||
],
|
],
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
grid: {
|
grid: {
|
||||||
@@ -134,91 +132,101 @@ export default {
|
|||||||
initialRequest: false,
|
initialRequest: false,
|
||||||
addCls: 'box_OFvis',
|
addCls: 'box_OFvis',
|
||||||
|
|
||||||
header:[
|
header: [
|
||||||
[
|
[
|
||||||
{ header: '날짜', childNames: [] },
|
{header: '날짜', childNames: []},
|
||||||
{ header: '고객사명', childNames: [] },
|
{header: '고객사명', childNames: []},
|
||||||
{ header: '사업자번호', childNames: [] },
|
{header: '사업자번호', childNames: []},
|
||||||
{ header: '전체', childNames: ['sndCnt','succCntRt'] },
|
{header: '전체', childNames: ['sndCnt', 'succCntRt']},
|
||||||
{ header: 'SMS', childNames: ['sndCntS','succCntRtS'] },
|
{header: 'SMS', childNames: ['sndCntS', 'succCntRtS']},
|
||||||
{ header: 'LMS', childNames: ['sndCntL','succCntRtL'] },
|
{header: 'LMS', childNames: ['sndCntL', 'succCntRtL']},
|
||||||
{ header: 'MMS', childNames: ['sndCntM','succCntRtM'] },
|
{header: 'MMS', childNames: ['sndCntM', 'succCntRtM']},
|
||||||
{ header: '알림톡', childNames: ['sndCntR','succCntRtR'] },
|
{header: '알림톡', childNames: ['sndCntR', 'succCntRtR']},
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'sumYmd', header: '날짜', align: 'center'},
|
{name: 'sumYmd', header: '날짜', align: 'center'},
|
||||||
{ name: 'custNm', header: '고객사명', align: 'center'},
|
{name: 'custNm', header: '고객사명', align: 'center'},
|
||||||
{ name: 'bizrno', header: '사업자번호', align: 'center'},
|
{name: 'bizrno', header: '사업자번호', align: 'center'},
|
||||||
{ name: 'sndCnt', header: '발송건수', align: 'center', cls: 'td_line',
|
{
|
||||||
formatter: props =>{
|
name: 'sndCnt', header: '발송건수', align: 'center', cls: 'td_line',
|
||||||
|
formatter: props => {
|
||||||
let result = props.sndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.sndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'succCntRt',
|
{
|
||||||
|
name: 'succCntRt',
|
||||||
header: '성공건수/(%)',
|
header: '성공건수/(%)',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
cls: 'td_line',
|
cls: 'td_line',
|
||||||
formatter: props => {
|
formatter: props => {
|
||||||
return "<p>"+ props.succCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')+"</p>\n<p>("+props.succRt+"%)</p>";
|
return "<p>" + props.succCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + "</p>\n<p>(" + props.succRt + "%)</p>";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'sndCntS', header: '발송건수', align: 'center', cls: 'td_line',
|
{
|
||||||
formatter: props =>{
|
name: 'sndCntS', header: '발송건수', align: 'center', cls: 'td_line',
|
||||||
|
formatter: props => {
|
||||||
let result = props.sndCntS.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.sndCntS.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'succCntRtS',
|
{
|
||||||
|
name: 'succCntRtS',
|
||||||
header: '성공건수/(%)',
|
header: '성공건수/(%)',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
cls: 'td_line',
|
cls: 'td_line',
|
||||||
formatter: props => {
|
formatter: props => {
|
||||||
return "<p>"+ props.succCntS.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')+"</p>\n<p>("+props.succRtS+"%)</p>";
|
return "<p>" + props.succCntS.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + "</p>\n<p>(" + props.succRtS + "%)</p>";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'sndCntL', header: '발송건수', align: 'center', cls: 'td_line',
|
{
|
||||||
formatter: props =>{
|
name: 'sndCntL', header: '발송건수', align: 'center', cls: 'td_line',
|
||||||
|
formatter: props => {
|
||||||
let result = props.sndCntL.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.sndCntL.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'succCntRtL',
|
{
|
||||||
|
name: 'succCntRtL',
|
||||||
header: '성공건수/(%)',
|
header: '성공건수/(%)',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
cls: 'td_line',
|
cls: 'td_line',
|
||||||
formatter: props => {
|
formatter: props => {
|
||||||
return "<p>"+ props.succCntL.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')+"</p>\n<p>("+props.succRtL+"%)</p>";
|
return "<p>" + props.succCntL.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + "</p>\n<p>(" + props.succRtL + "%)</p>";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'sndCntM', header: '발송건수', align: 'center', cls: 'td_line',
|
{
|
||||||
formatter: props =>{
|
name: 'sndCntM', header: '발송건수', align: 'center', cls: 'td_line',
|
||||||
|
formatter: props => {
|
||||||
let result = props.sndCntM.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.sndCntM.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'succCntRtM',
|
{
|
||||||
|
name: 'succCntRtM',
|
||||||
header: '성공건수/(%)',
|
header: '성공건수/(%)',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
cls: 'td_line',
|
cls: 'td_line',
|
||||||
formatter: props => {
|
formatter: props => {
|
||||||
return "<p>"+ props.succCntM.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')+"</p>\n<p>("+props.succRtM+"%)</p>";
|
return "<p>" + props.succCntM.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + "</p>\n<p>(" + props.succRtM + "%)</p>";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'sndCntR', header: '발송건수', align: 'center', cls: 'td_line',
|
{
|
||||||
formatter: props =>{
|
name: 'sndCntR', header: '발송건수', align: 'center', cls: 'td_line',
|
||||||
|
formatter: props => {
|
||||||
let result = props.sndCntR.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.sndCntR.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'succCntRtR',
|
{
|
||||||
|
name: 'succCntRtR',
|
||||||
header: '성공건수/(%)',
|
header: '성공건수/(%)',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
cls: 'td_line',
|
cls: 'td_line',
|
||||||
formatter: props => {
|
formatter: props => {
|
||||||
return "<p>"+ props.succCntR.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')+"</p>\n<p>("+props.succRtR+")</p>";
|
return "<p>" + props.succCntR.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + "</p>\n<p>(" + props.succRtR + ")</p>";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -238,20 +246,20 @@ export default {
|
|||||||
commonModal,
|
commonModal,
|
||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
this.getExcelHeader();
|
this.getExcelHeader();
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
this.grid.params.custNm='';
|
this.grid.params.custNm = '';
|
||||||
this.grid.params.bizrno='';
|
this.grid.params.bizrno = '';
|
||||||
|
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
let page = 1;
|
let page = 1;
|
||||||
// 페이지 정보 및 검색 조건
|
// 페이지 정보 및 검색 조건
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
console.log('getCondition : '+getCondition);
|
console.log('getCondition : ' + getCondition);
|
||||||
|
|
||||||
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
||||||
let isKeep = false;
|
let isKeep = false;
|
||||||
@@ -276,7 +284,7 @@ export default {
|
|||||||
next();
|
next();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
console.log('>>>>>>> search Start >>>>>>');
|
console.log('>>>>>>> search Start >>>>>>');
|
||||||
this.grid.params = {
|
this.grid.params = {
|
||||||
startDay: moment(this.startDate).format('YYYYMMDD'),
|
startDay: moment(this.startDate).format('YYYYMMDD'),
|
||||||
@@ -284,7 +292,7 @@ export default {
|
|||||||
custNm: this.grid.params.custNm,
|
custNm: this.grid.params.custNm,
|
||||||
bizrno: this.grid.params.bizrno
|
bizrno: this.grid.params.bizrno
|
||||||
};
|
};
|
||||||
console.log('this.perPageCnt'+this.perPageCnt);
|
console.log('this.perPageCnt' + this.perPageCnt);
|
||||||
console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
|
|
||||||
if (moment(this.grid.params.startDay).isBefore(moment(this.grid.params.endDay).subtract(1, 'months').format('YYYYMMDD'))) {
|
if (moment(this.grid.params.startDay).isBefore(moment(this.grid.params.endDay).subtract(1, 'months').format('YYYYMMDD'))) {
|
||||||
@@ -299,7 +307,7 @@ export default {
|
|||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
toMove(routeName) {
|
toMove(routeName) {
|
||||||
this.$router.push({ name: routeName, params: { page: 1, searchText: '' } });
|
this.$router.push({name: routeName, params: {page: 1, searchText: ''}});
|
||||||
},
|
},
|
||||||
setPeriodDay(day) {
|
setPeriodDay(day) {
|
||||||
this.periodDay = day;
|
this.periodDay = day;
|
||||||
@@ -330,15 +338,15 @@ export default {
|
|||||||
closeDate(type) {
|
closeDate(type) {
|
||||||
if (type != undefined && type != null) {
|
if (type != undefined && type != null) {
|
||||||
if (type == 'start') {
|
if (type == 'start') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {from: this.endDate};
|
||||||
this.disabledEDate = { to: this.startDate, from: this.endDate };
|
this.disabledEDate = {to: this.startDate, from: this.endDate};
|
||||||
} else if (type == 'end') {
|
} else if (type == 'end') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {from: this.endDate};
|
||||||
this.disabledEDate = { to: this.startDate, from: new Date() };
|
this.disabledEDate = {to: this.startDate, from: new Date()};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
customFormatter: function(date) {
|
customFormatter: function (date) {
|
||||||
if (this.sDateDiv == 'month') {
|
if (this.sDateDiv == 'month') {
|
||||||
return moment(date).format('YYYY-MM');
|
return moment(date).format('YYYY-MM');
|
||||||
} else if (this.sDateDiv == 'year') {
|
} else if (this.sDateDiv == 'year') {
|
||||||
@@ -347,11 +355,11 @@ export default {
|
|||||||
return moment(date).format('YYYY-MM-DD');
|
return moment(date).format('YYYY-MM-DD');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
changePerPage: function(){ // 페이지당 조회할 개수
|
changePerPage: function () { // 페이지당 조회할 개수
|
||||||
this.grid.pagePerRows = this.perPageCnt;
|
this.grid.pagePerRows = this.perPageCnt;
|
||||||
this.search(true);
|
this.search(true);
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
console.log("==========getP : " + getP._currentPage);
|
console.log("==========getP : " + getP._currentPage);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -361,11 +369,11 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
console.log("getCondition : "+ getCondition.perPage);
|
console.log("getCondition : " + getCondition.perPage);
|
||||||
},
|
},
|
||||||
initSetStartDate(){
|
initSetStartDate() {
|
||||||
let initStartDate = new Date();
|
let initStartDate = new Date();
|
||||||
initStartDate.setMonth(Number(moment(initStartDate).format('MM')) -2);
|
initStartDate.setMonth(Number(moment(initStartDate).format('MM')) - 2);
|
||||||
this.startDate = initStartDate;
|
this.startDate = initStartDate;
|
||||||
console.log(moment(this.startDate).format('YYYY-MM-DD'));
|
console.log(moment(this.startDate).format('YYYY-MM-DD'));
|
||||||
},
|
},
|
||||||
@@ -378,7 +386,7 @@ export default {
|
|||||||
const result = response.data;
|
const result = response.data;
|
||||||
if (result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
return result.data;
|
return result.data;
|
||||||
}else{
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
@@ -402,7 +410,8 @@ export default {
|
|||||||
dataOrder: 'header'
|
dataOrder: 'header'
|
||||||
};
|
};
|
||||||
// console.log(data);
|
// console.log(data);
|
||||||
xlsx.export(data.list, saveFileName, options).then(() => {});
|
xlsx.export(data.list, saveFileName, options).then(() => {
|
||||||
|
});
|
||||||
},
|
},
|
||||||
getExcelHeader() {
|
getExcelHeader() {
|
||||||
// 헤더를 mockup으로 관리한다.
|
// 헤더를 mockup으로 관리한다.
|
||||||
|
|||||||
@@ -6,24 +6,15 @@
|
|||||||
<h3 class="title">사업자별 통계</h3>
|
<h3 class="title">사업자별 통계</h3>
|
||||||
<p class="breadcrumb">발송통계 > 사업자별 통계</p>
|
<p class="breadcrumb">발송통계 > 사업자별 통계</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="top_tab">
|
<div class="top_tab">
|
||||||
<a href="javascript:void(0);" class="on">월별통계</a>
|
<a href="javascript:void(0);" class="on">월별통계</a>
|
||||||
<a href="javascript:void(0);" @click="toMove('bsnmDayList')">일별통계</a>
|
<a href="javascript:void(0);" @click="toMove('bsnmDayList')">일별통계</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<form autocomplete="off" class="search_form">
|
|
||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="input_box cal">
|
<div class="input_box cal">
|
||||||
<label for="right" class="label txt">날짜</label>
|
<label for="right" class="label txt">날짜</label>
|
||||||
<p> 최대 3개월까지 조회 가능합니다.</p>
|
<p> 최대 3개월까지 조회 가능합니다.</p>
|
||||||
<div class="term">
|
<div class="term">
|
||||||
<!--
|
|
||||||
<input class="date" type="text" id="" placeholder="2022-10-12"/>
|
|
||||||
~
|
|
||||||
<input class="" type="text" id="" placeholder="2022-10-12"/>
|
|
||||||
-->
|
|
||||||
<div class="group" style="width:500px;">
|
<div class="group" style="width:500px;">
|
||||||
<span class="custom_input icon_date">
|
<span class="custom_input icon_date">
|
||||||
<vuejs-datepicker
|
<vuejs-datepicker
|
||||||
@@ -55,15 +46,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="input_box id">
|
<div class="input_box id">
|
||||||
<label for="name" class="label">고객사명</label>
|
<label for="name" class="label">고객사명</label>
|
||||||
<input type="text" id="name" placeholder="검색어 입력" v-model="grid.params.custNm">
|
<input type="text" id="name" placeholder="검색어 입력" v-model.trim="grid.params.custNm" maxlength="100">
|
||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="name" class="label">사업자등록번호</label>
|
<label for="name" class="label">사업자등록번호</label>
|
||||||
<input type="text" id="name" placeholder="검색어 입력" v-model="grid.params.bizrno">
|
<input type="text" id="name" placeholder="검색어 입력" v-model.trim="grid.params.bizrno" @keypress="onlyNum"
|
||||||
|
@input="onlyNum" minlength="10" maxlength="10">
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">집계결과</div>
|
<div class="count">집계결과</div>
|
||||||
<div class="button_group">
|
<div class="button_group">
|
||||||
@@ -97,9 +88,11 @@ import statsApi from "../service/statsApi.js";
|
|||||||
import customGrid from '@/components/CustomGrid';
|
import customGrid from '@/components/CustomGrid';
|
||||||
import xlsx from '@/common/excel';
|
import xlsx from '@/common/excel';
|
||||||
import commonModal from "@/components/modal/commonModal";
|
import commonModal from "@/components/modal/commonModal";
|
||||||
|
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'bsnmMonthList',
|
name: 'bsnmMonthList',
|
||||||
|
mixins: [utils_mixin, chkPattern2],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 달력 데이터
|
// 달력 데이터
|
||||||
@@ -109,14 +102,14 @@ export default {
|
|||||||
startDate: new Date(),
|
startDate: new Date(),
|
||||||
endDate: new Date(),
|
endDate: new Date(),
|
||||||
|
|
||||||
startDt:'',
|
startDt: '',
|
||||||
endDt:'',
|
endDt: '',
|
||||||
startYear:'',
|
startYear: '',
|
||||||
startMonth:'',
|
startMonth: '',
|
||||||
endYear:'',
|
endYear: '',
|
||||||
endMonth:'',
|
endMonth: '',
|
||||||
row: {},
|
row: {},
|
||||||
list:[],
|
list: [],
|
||||||
totalCnt: '',
|
totalCnt: '',
|
||||||
|
|
||||||
pageType: 'BSNM_MONTH',
|
pageType: 'BSNM_MONTH',
|
||||||
@@ -124,9 +117,9 @@ export default {
|
|||||||
// 테이블 리스트 데이터
|
// 테이블 리스트 데이터
|
||||||
perPageCnt: 50,
|
perPageCnt: 50,
|
||||||
options: [
|
options: [
|
||||||
{ text: '20', value: 20},
|
{text: '20', value: 20},
|
||||||
{ text: '50', value: 50},
|
{text: '50', value: 50},
|
||||||
{ text: '100', value: 100}
|
{text: '100', value: 100}
|
||||||
],
|
],
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
grid: {
|
grid: {
|
||||||
@@ -137,96 +130,107 @@ export default {
|
|||||||
initialRequest: false,
|
initialRequest: false,
|
||||||
addCls: 'box_OFvis',
|
addCls: 'box_OFvis',
|
||||||
|
|
||||||
header:[
|
header: [
|
||||||
[
|
[
|
||||||
{ header: '날짜', childNames: [] },
|
{header: '날짜', childNames: []},
|
||||||
{ header: '고객사명', childNames: [] },
|
{header: '고객사명', childNames: []},
|
||||||
{ header: '사업자번호', childNames: [] },
|
{header: '사업자번호', childNames: []},
|
||||||
{ header: '전체', childNames: ['sndCnt','succCntRt'] },
|
{header: '전체', childNames: ['sndCnt', 'succCntRt']},
|
||||||
{ header: 'SMS', childNames: ['sndCntS','succCntRtS'] },
|
{header: 'SMS', childNames: ['sndCntS', 'succCntRtS']},
|
||||||
{ header: 'LMS', childNames: ['sndCntL','succCntRtL'] },
|
{header: 'LMS', childNames: ['sndCntL', 'succCntRtL']},
|
||||||
{ header: 'MMS', childNames: ['sndCntM','succCntRtM'] },
|
{header: 'MMS', childNames: ['sndCntM', 'succCntRtM']},
|
||||||
{ header: '알림톡', childNames: ['sndCntR','succCntRtR'] },
|
{header: '알림톡', childNames: ['sndCntR', 'succCntRtR']},
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'sumYm', header: '날짜', align: 'center'},
|
{name: 'sumYm', header: '날짜', align: 'center'},
|
||||||
{ name: 'custNm', header: '고객사명', align: 'center'},
|
{name: 'custNm', header: '고객사명', align: 'center'},
|
||||||
{ name: 'bizrno', header: '사업자번호', align: 'center'
|
{
|
||||||
,formatter: props => {
|
name: 'bizrno', header: '사업자번호', align: 'center'
|
||||||
let result = props.bizrno.substring(0,3)+'-'+ props.bizrno.substring(3,5)+'-'+ props.bizrno.substring(5,10)
|
// , formatter: props => {
|
||||||
return result;
|
// let result = props.bizrno.substring(0, 3) + '-' + props.bizrno.substring(3, 5) + '-' + props.bizrno.substring(5, 10)
|
||||||
}
|
// return result;
|
||||||
|
// }
|
||||||
},
|
},
|
||||||
{ name: 'sndCnt', header: '발송건수', align: 'center', cls: 'td_line',
|
{
|
||||||
formatter: props =>{
|
name: 'sndCnt', header: '발송건수', align: 'center', cls: 'td_line',
|
||||||
|
formatter: props => {
|
||||||
let result = props.sndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.sndCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'succCntRt',
|
{
|
||||||
|
name: 'succCntRt',
|
||||||
header: '성공건수/(%)',
|
header: '성공건수/(%)',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
cls: 'td_line',
|
cls: 'td_line',
|
||||||
formatter: props => {
|
formatter: props => {
|
||||||
return "<p>"+ props.succCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')+"</p>\n<p>("+props.succRt+"%)</p>";
|
return "<p>" + props.succCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + "</p>\n<p>(" + props.succRt + "%)</p>";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'sndCntS', header: '발송건수', align: 'center', cls: 'td_line',
|
{
|
||||||
formatter: props =>{
|
name: 'sndCntS', header: '발송건수', align: 'center', cls: 'td_line',
|
||||||
|
formatter: props => {
|
||||||
let result = props.sndCntS.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.sndCntS.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'succCntRtS',
|
{
|
||||||
|
name: 'succCntRtS',
|
||||||
header: '성공건수/(%)',
|
header: '성공건수/(%)',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
cls: 'td_line',
|
cls: 'td_line',
|
||||||
formatter: props => {
|
formatter: props => {
|
||||||
return "<p>"+ props.succCntS.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')+"</p>\n<p>("+props.succRtS+"%)</p>";
|
return "<p>" + props.succCntS.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + "</p>\n<p>(" + props.succRtS + "%)</p>";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'sndCntL', header: '발송건수', align: 'center', cls: 'td_line',
|
{
|
||||||
formatter: props =>{
|
name: 'sndCntL', header: '발송건수', align: 'center', cls: 'td_line',
|
||||||
|
formatter: props => {
|
||||||
let result = props.sndCntL.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.sndCntL.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'succCntRtL',
|
{
|
||||||
|
name: 'succCntRtL',
|
||||||
header: '성공건수/(%)',
|
header: '성공건수/(%)',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
cls: 'td_line',
|
cls: 'td_line',
|
||||||
formatter: props => {
|
formatter: props => {
|
||||||
return "<p>"+ props.succCntL.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')+"</p>\n<p>("+props.succRtL+"%)</p>";
|
return "<p>" + props.succCntL.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + "</p>\n<p>(" + props.succRtL + "%)</p>";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'sndCntM', header: '발송건수', align: 'center', cls: 'td_line',
|
{
|
||||||
formatter: props =>{
|
name: 'sndCntM', header: '발송건수', align: 'center', cls: 'td_line',
|
||||||
|
formatter: props => {
|
||||||
let result = props.sndCntM.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.sndCntM.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'succCntRtM',
|
{
|
||||||
|
name: 'succCntRtM',
|
||||||
header: '성공건수/(%)',
|
header: '성공건수/(%)',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
cls: 'td_line',
|
cls: 'td_line',
|
||||||
formatter: props => {
|
formatter: props => {
|
||||||
return "<p>"+ props.succCntM.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')+"</p>\n<p>("+props.succRtM+"%)</p>";
|
return "<p>" + props.succCntM.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + "</p>\n<p>(" + props.succRtM + "%)</p>";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'sndCntR', header: '발송건수', align: 'center', cls: 'td_line',
|
{
|
||||||
formatter: props =>{
|
name: 'sndCntR', header: '발송건수', align: 'center', cls: 'td_line',
|
||||||
|
formatter: props => {
|
||||||
let result = props.sndCntR.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
let result = props.sndCntR.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'succCntRtR',
|
{
|
||||||
|
name: 'succCntRtR',
|
||||||
header: '성공건수/(%)',
|
header: '성공건수/(%)',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
cls: 'td_line',
|
cls: 'td_line',
|
||||||
formatter: props => {
|
formatter: props => {
|
||||||
return "<p>"+ props.succCntR.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')+"</p>\n<p>("+props.succRtR+")</p>";
|
return "<p>" + props.succCntR.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + "</p>\n<p>(" + props.succRtR + ")</p>";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -246,21 +250,21 @@ export default {
|
|||||||
commonModal,
|
commonModal,
|
||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
this.getExcelHeader();
|
this.getExcelHeader();
|
||||||
|
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
this.grid.params.custNm='';
|
this.grid.params.custNm = '';
|
||||||
this.grid.params.bizrno='';
|
this.grid.params.bizrno = '';
|
||||||
|
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
let page = 1;
|
let page = 1;
|
||||||
// 페이지 정보 및 검색 조건
|
// 페이지 정보 및 검색 조건
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
console.log('getCondition : '+getCondition);
|
console.log('getCondition : ' + getCondition);
|
||||||
|
|
||||||
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
||||||
let isKeep = false;
|
let isKeep = false;
|
||||||
@@ -285,7 +289,7 @@ export default {
|
|||||||
next();
|
next();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
console.log('>>>>>>> search Start >>>>>>');
|
console.log('>>>>>>> search Start >>>>>>');
|
||||||
this.grid.params = {
|
this.grid.params = {
|
||||||
startMon: moment(this.startDate).format('YYYYMM'),
|
startMon: moment(this.startDate).format('YYYYMM'),
|
||||||
@@ -293,7 +297,7 @@ export default {
|
|||||||
custNm: this.grid.params.custNm,
|
custNm: this.grid.params.custNm,
|
||||||
bizrno: this.grid.params.bizrno
|
bizrno: this.grid.params.bizrno
|
||||||
};
|
};
|
||||||
console.log('this.perPageCnt'+this.perPageCnt);
|
console.log('this.perPageCnt' + this.perPageCnt);
|
||||||
console.log(this.grid.params);
|
console.log(this.grid.params);
|
||||||
|
|
||||||
if (moment(this.grid.params.startMon).isBefore(moment(this.grid.params.endMon).subtract(2, 'months').format('YYYYMM'))) {
|
if (moment(this.grid.params.startMon).isBefore(moment(this.grid.params.endMon).subtract(2, 'months').format('YYYYMM'))) {
|
||||||
@@ -308,7 +312,7 @@ export default {
|
|||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
toMove(routeName) {
|
toMove(routeName) {
|
||||||
this.$router.push({ name: routeName, params: { page: 1, searchText: '' } });
|
this.$router.push({name: routeName, params: {page: 1, searchText: ''}});
|
||||||
},
|
},
|
||||||
setPeriodDay(day) {
|
setPeriodDay(day) {
|
||||||
this.periodDay = day;
|
this.periodDay = day;
|
||||||
@@ -339,15 +343,15 @@ export default {
|
|||||||
closeDate(type) {
|
closeDate(type) {
|
||||||
if (type != undefined && type != null) {
|
if (type != undefined && type != null) {
|
||||||
if (type == 'start') {
|
if (type == 'start') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {from: this.endDate};
|
||||||
this.disabledEDate = { to: this.startDate, from: this.endDate };
|
this.disabledEDate = {to: this.startDate, from: this.endDate};
|
||||||
} else if (type == 'end') {
|
} else if (type == 'end') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {from: this.endDate};
|
||||||
this.disabledEDate = { to: this.startDate, from: new Date() };
|
this.disabledEDate = {to: this.startDate, from: new Date()};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
customFormatter: function(date) {
|
customFormatter: function (date) {
|
||||||
if (this.sDateDiv == 'month') {
|
if (this.sDateDiv == 'month') {
|
||||||
return moment(date).format('YYYY-MM');
|
return moment(date).format('YYYY-MM');
|
||||||
} else if (this.sDateDiv == 'year') {
|
} else if (this.sDateDiv == 'year') {
|
||||||
@@ -356,11 +360,11 @@ export default {
|
|||||||
return moment(date).format('YYYY-MM-DD');
|
return moment(date).format('YYYY-MM-DD');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
changePerPage: function(){ // 페이지당 조회할 개수
|
changePerPage: function () { // 페이지당 조회할 개수
|
||||||
this.grid.pagePerRows = this.perPageCnt;
|
this.grid.pagePerRows = this.perPageCnt;
|
||||||
this.search(true);
|
this.search(true);
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
console.log("==========getP : " + getP._currentPage);
|
console.log("==========getP : " + getP._currentPage);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -370,11 +374,11 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
console.log("getCondition : "+ getCondition.perPage);
|
console.log("getCondition : " + getCondition.perPage);
|
||||||
},
|
},
|
||||||
initSetStartDate(){
|
initSetStartDate() {
|
||||||
let initStartDate = new Date();
|
let initStartDate = new Date();
|
||||||
initStartDate.setMonth(Number(moment(initStartDate).format('MM')) -3);
|
initStartDate.setMonth(Number(moment(initStartDate).format('MM')) - 3);
|
||||||
this.startDate = initStartDate;
|
this.startDate = initStartDate;
|
||||||
console.log(moment(this.startDate).format('YYYY-MM-DD'));
|
console.log(moment(this.startDate).format('YYYY-MM-DD'));
|
||||||
},
|
},
|
||||||
@@ -394,7 +398,7 @@ export default {
|
|||||||
console.log(result)
|
console.log(result)
|
||||||
if (result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
return result.data;
|
return result.data;
|
||||||
}else{
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
@@ -418,7 +422,8 @@ export default {
|
|||||||
dataOrder: 'header'
|
dataOrder: 'header'
|
||||||
};
|
};
|
||||||
console.log(data);
|
console.log(data);
|
||||||
xlsx.export(data.list, saveFileName, options).then(() => {});
|
xlsx.export(data.list, saveFileName, options).then(() => {
|
||||||
|
});
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,14 +5,10 @@
|
|||||||
<h3 class="title">날짜별 통계</h3>
|
<h3 class="title">날짜별 통계</h3>
|
||||||
<p class="breadcrumb">발송통계 > 날짜별 통계</p>
|
<p class="breadcrumb">발송통계 > 날짜별 통계</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="top_tab">
|
<div class="top_tab">
|
||||||
<a href="javascript:void(0);" @click="toMove('monthList')">월별통계</a>
|
<a href="javascript:void(0);" @click="toMove('monthList')">월별통계</a>
|
||||||
<a href="javascript:void(0);" class="on">일별통계</a>
|
<a href="javascript:void(0);" class="on">일별통계</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<form autocomplete="off" class="search_form">
|
|
||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="input_box cal">
|
<div class="input_box cal">
|
||||||
<label for="right" class="label txt">날짜</label>
|
<label for="right" class="label txt">날짜</label>
|
||||||
@@ -42,7 +38,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">집계결과</div>
|
<div class="count">집계결과</div>
|
||||||
<div class="button_group">
|
<div class="button_group">
|
||||||
@@ -129,13 +124,13 @@ export default {
|
|||||||
startDate: new Date(),
|
startDate: new Date(),
|
||||||
endDate: new Date(),
|
endDate: new Date(),
|
||||||
|
|
||||||
startDt:'',
|
startDt: '',
|
||||||
endDt:'',
|
endDt: '',
|
||||||
|
|
||||||
pageType:'DAY',
|
pageType: 'DAY',
|
||||||
|
|
||||||
row: {},
|
row: {},
|
||||||
list:[],
|
list: [],
|
||||||
totalCnt: '',
|
totalCnt: '',
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@@ -143,7 +138,7 @@ export default {
|
|||||||
commonModal,
|
commonModal,
|
||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
// this.startDt = moment().format('YYYY-MM-DD');
|
// this.startDt = moment().format('YYYY-MM-DD');
|
||||||
// this.endDt = moment().format('YYYY-MM-DD');
|
// this.endDt = moment().format('YYYY-MM-DD');
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
@@ -157,12 +152,12 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async getDayList(){
|
async getDayList() {
|
||||||
console.log('getDayList Start');
|
console.log('getDayList Start');
|
||||||
this.row.startDay = moment(this.startDate).format('YYYYMMDD');
|
this.row.startDay = moment(this.startDate).format('YYYYMMDD');
|
||||||
this.row.endDay = moment(this.endDate).format('YYYYMMDD');
|
this.row.endDay = moment(this.endDate).format('YYYYMMDD');
|
||||||
console.log('검색_시작일시(변환후):'+this.row.startDay);
|
console.log('검색_시작일시(변환후):' + this.row.startDay);
|
||||||
console.log('검색_종료일시(변환후):'+this.row.endDay);
|
console.log('검색_종료일시(변환후):' + this.row.endDay);
|
||||||
if (moment(this.row.startDay).isBefore(moment(this.row.endDay).subtract(1, 'months').format('YYYYMMDD'))) {
|
if (moment(this.row.startDay).isBefore(moment(this.row.endDay).subtract(1, 'months').format('YYYYMMDD'))) {
|
||||||
//alert('검색 기간은 최대 1개월까지 선택 가능 합니다.');
|
//alert('검색 기간은 최대 1개월까지 선택 가능 합니다.');
|
||||||
this.row.title = '발송통계';
|
this.row.title = '발송통계';
|
||||||
@@ -176,23 +171,23 @@ export default {
|
|||||||
const result = response.data;
|
const result = response.data;
|
||||||
console.log(result);
|
console.log(result);
|
||||||
if (result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
if(result.data.list.length > 0){
|
if (result.data.list.length > 0) {
|
||||||
this.list = result.data.list;
|
this.list = result.data.list;
|
||||||
}
|
}
|
||||||
this.totalCnt = result.data.list.length;
|
this.totalCnt = result.data.list.length;
|
||||||
} else {
|
} else {
|
||||||
alert("조회정보가 없습니다.");
|
alert("조회정보가 없습니다.");
|
||||||
}
|
}
|
||||||
} catch(err) {
|
} catch (err) {
|
||||||
alert("실패 하였습니다.");
|
alert("실패 하였습니다.");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
toMove(routeName) {
|
toMove(routeName) {
|
||||||
this.$router.push({ name: routeName, params: { page: 1, searchText: '' } });
|
this.$router.push({name: routeName, params: {page: 1, searchText: ''}});
|
||||||
},
|
},
|
||||||
search: function() {
|
search: function () {
|
||||||
console.log('검색_시작일시:'+this.startDt);
|
console.log('검색_시작일시:' + this.startDt);
|
||||||
console.log('검색_종료일시:'+this.endDt);
|
console.log('검색_종료일시:' + this.endDt);
|
||||||
this.getDayList();
|
this.getDayList();
|
||||||
},
|
},
|
||||||
// calendarCalbackFnc(year, month, day){
|
// calendarCalbackFnc(year, month, day){
|
||||||
@@ -252,15 +247,15 @@ export default {
|
|||||||
closeDate(type) {
|
closeDate(type) {
|
||||||
if (type != undefined && type != null) {
|
if (type != undefined && type != null) {
|
||||||
if (type == 'start') {
|
if (type == 'start') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {from: this.endDate};
|
||||||
this.disabledEDate = { to: this.startDate, from: this.endDate };
|
this.disabledEDate = {to: this.startDate, from: this.endDate};
|
||||||
} else if (type == 'end') {
|
} else if (type == 'end') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {from: this.endDate};
|
||||||
this.disabledEDate = { to: this.startDate, from: new Date() };
|
this.disabledEDate = {to: this.startDate, from: new Date()};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
customFormatter: function(date) {
|
customFormatter: function (date) {
|
||||||
if (this.sDateDiv == 'month') {
|
if (this.sDateDiv == 'month') {
|
||||||
return moment(date).format('YYYY-MM');
|
return moment(date).format('YYYY-MM');
|
||||||
} else if (this.sDateDiv == 'year') {
|
} else if (this.sDateDiv == 'year') {
|
||||||
@@ -269,9 +264,9 @@ export default {
|
|||||||
return moment(date).format('YYYY-MM-DD');
|
return moment(date).format('YYYY-MM-DD');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
initSetStartDate(){
|
initSetStartDate() {
|
||||||
let initStartDate = new Date();
|
let initStartDate = new Date();
|
||||||
initStartDate.setMonth(Number(moment(initStartDate).format('MM')) -2);
|
initStartDate.setMonth(Number(moment(initStartDate).format('MM')) - 2);
|
||||||
this.startDate = initStartDate;
|
this.startDate = initStartDate;
|
||||||
console.log(moment(this.startDate).format('YYYY-MM-DD'));
|
console.log(moment(this.startDate).format('YYYY-MM-DD'));
|
||||||
},
|
},
|
||||||
@@ -293,7 +288,8 @@ export default {
|
|||||||
dataOrder: 'header'
|
dataOrder: 'header'
|
||||||
};
|
};
|
||||||
// console.log(data);
|
// console.log(data);
|
||||||
xlsx.export(this.list, saveFileName, options).then(() => {});
|
xlsx.export(this.list, saveFileName, options).then(() => {
|
||||||
|
});
|
||||||
},
|
},
|
||||||
getExcelHeader() {
|
getExcelHeader() {
|
||||||
// 헤더를 mockup으로 관리한다.
|
// 헤더를 mockup으로 관리한다.
|
||||||
|
|||||||
@@ -5,14 +5,10 @@
|
|||||||
<h3 class="title">날짜별 통계</h3>
|
<h3 class="title">날짜별 통계</h3>
|
||||||
<p class="breadcrumb">발송통계 > 날짜별 통계</p>
|
<p class="breadcrumb">발송통계 > 날짜별 통계</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="top_tab">
|
<div class="top_tab">
|
||||||
<a href="javascript:void(0);" class="on">월별통계</a>
|
<a href="javascript:void(0);" class="on">월별통계</a>
|
||||||
<a href="javascript:void(0);" @click="toMove('dayList')" >일별통계</a>
|
<a href="javascript:void(0);" @click="toMove('dayList')">일별통계</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<form autocomplete="off" class="search_form">
|
|
||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="input_box cal">
|
<div class="input_box cal">
|
||||||
<label for="right" class="label txt">날짜</label>
|
<label for="right" class="label txt">날짜</label>
|
||||||
@@ -42,13 +38,10 @@
|
|||||||
@closed="closeDate('end')"
|
@closed="closeDate('end')"
|
||||||
></vuejs-datepicker>
|
></vuejs-datepicker>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
<!--<button type="button" class="button grey">조회</button>-->
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">집계결과</div>
|
<div class="count">집계결과</div>
|
||||||
<div class="button_group">
|
<div class="button_group">
|
||||||
@@ -135,23 +128,23 @@ export default {
|
|||||||
startDate: new Date(),
|
startDate: new Date(),
|
||||||
endDate: new Date(),
|
endDate: new Date(),
|
||||||
|
|
||||||
startDt:'',
|
startDt: '',
|
||||||
endDt:'',
|
endDt: '',
|
||||||
startYear:'',
|
startYear: '',
|
||||||
startMonth:'',
|
startMonth: '',
|
||||||
endYear:'',
|
endYear: '',
|
||||||
endMonth:'',
|
endMonth: '',
|
||||||
row: {},
|
row: {},
|
||||||
list:[],
|
list: [],
|
||||||
totalCnt: '',
|
totalCnt: '',
|
||||||
pageType:'MONTH'
|
pageType: 'MONTH'
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
commonModal,
|
commonModal,
|
||||||
vuejsDatepicker,
|
vuejsDatepicker,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
this.setPeriodDay(0);
|
this.setPeriodDay(0);
|
||||||
this.getMonthList();
|
this.getMonthList();
|
||||||
this.getExcelHeader();
|
this.getExcelHeader();
|
||||||
@@ -161,13 +154,13 @@ export default {
|
|||||||
mounted() {
|
mounted() {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async getMonthList(){
|
async getMonthList() {
|
||||||
|
|
||||||
console.log('getMonthList Start');
|
console.log('getMonthList Start');
|
||||||
this.row.startMon = moment(this.startDate).format('YYYYMM');
|
this.row.startMon = moment(this.startDate).format('YYYYMM');
|
||||||
this.row.endMon = moment(this.endDate).format('YYYYMM');
|
this.row.endMon = moment(this.endDate).format('YYYYMM');
|
||||||
console.log('검색_시작년월:'+this.row.startMon);
|
console.log('검색_시작년월:' + this.row.startMon);
|
||||||
console.log('검색_종료년월:'+this.row.endMon);
|
console.log('검색_종료년월:' + this.row.endMon);
|
||||||
|
|
||||||
if (moment(this.row.startMon).isBefore(moment(this.row.endMon).subtract(2, 'months').format('YYYYMM'))) {
|
if (moment(this.row.startMon).isBefore(moment(this.row.endMon).subtract(2, 'months').format('YYYYMM'))) {
|
||||||
//alert('검색 기간은 최대 3개월까지 선택 가능 합니다.');
|
//alert('검색 기간은 최대 3개월까지 선택 가능 합니다.');
|
||||||
@@ -187,16 +180,16 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
alert("조회정보가 없습니다.");
|
alert("조회정보가 없습니다.");
|
||||||
}
|
}
|
||||||
} catch(err) {
|
} catch (err) {
|
||||||
alert("실패 하였습니다.");
|
alert("실패 하였습니다.");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
search: function() {
|
search: function () {
|
||||||
this.getMonthList();
|
this.getMonthList();
|
||||||
},
|
},
|
||||||
toMove(routeName) {
|
toMove(routeName) {
|
||||||
//this.$router.push({ name: routeName, params: { page: 1, searchText: '' } });
|
//this.$router.push({ name: routeName, params: { page: 1, searchText: '' } });
|
||||||
this.$router.push({ name: routeName, params: {} });
|
this.$router.push({name: routeName, params: {}});
|
||||||
},
|
},
|
||||||
setPeriodDay(day) {
|
setPeriodDay(day) {
|
||||||
this.periodDay = day;
|
this.periodDay = day;
|
||||||
@@ -227,15 +220,15 @@ export default {
|
|||||||
closeDate(type) {
|
closeDate(type) {
|
||||||
if (type != undefined && type != null) {
|
if (type != undefined && type != null) {
|
||||||
if (type == 'start') {
|
if (type == 'start') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {from: this.endDate};
|
||||||
this.disabledEDate = { to: this.startDate, from: this.endDate };
|
this.disabledEDate = {to: this.startDate, from: this.endDate};
|
||||||
} else if (type == 'end') {
|
} else if (type == 'end') {
|
||||||
this.disabledSDate = { from: this.endDate };
|
this.disabledSDate = {from: this.endDate};
|
||||||
this.disabledEDate = { to: this.startDate, from: new Date() };
|
this.disabledEDate = {to: this.startDate, from: new Date()};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
customFormatter: function(date) {
|
customFormatter: function (date) {
|
||||||
if (this.sDateDiv == 'month') {
|
if (this.sDateDiv == 'month') {
|
||||||
return moment(date).format('YYYY-MM');
|
return moment(date).format('YYYY-MM');
|
||||||
} else if (this.sDateDiv == 'year') {
|
} else if (this.sDateDiv == 'year') {
|
||||||
@@ -244,9 +237,9 @@ export default {
|
|||||||
return moment(date).format('YYYY-MM-DD');
|
return moment(date).format('YYYY-MM-DD');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
initSetStartDate(){
|
initSetStartDate() {
|
||||||
let initStartDate = new Date();
|
let initStartDate = new Date();
|
||||||
initStartDate.setMonth(Number(moment(initStartDate).format('MM')) -3);
|
initStartDate.setMonth(Number(moment(initStartDate).format('MM')) - 3);
|
||||||
this.startDate = initStartDate;
|
this.startDate = initStartDate;
|
||||||
console.log(moment(this.startDate).format('YYYY-MM-DD'));
|
console.log(moment(this.startDate).format('YYYY-MM-DD'));
|
||||||
},
|
},
|
||||||
@@ -268,7 +261,8 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// console.log(data);
|
// console.log(data);
|
||||||
xlsx.export(this.list, saveFileName, options).then(() => {});
|
xlsx.export(this.list, saveFileName, options).then(() => {
|
||||||
|
});
|
||||||
},
|
},
|
||||||
getExcelHeader() {
|
getExcelHeader() {
|
||||||
// 헤더를 mockup으로 관리한다.
|
// 헤더를 mockup으로 관리한다.
|
||||||
|
|||||||
@@ -72,7 +72,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 관리자 상세정보 팝업 끝-->
|
<!-- 관리자 상세정보 팝업 끝-->
|
||||||
</div>
|
</div>
|
||||||
<common-modal ref="commmonModal"></common-modal>
|
<!-- <common-modal ref="commmonModal"></common-modal>-->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ import api from '@/service/api';
|
|||||||
import sysMgtApi from "../service/sysMgtApi.js";
|
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 lodash from "lodash";
|
||||||
import commonModal from "../components/commonModal";
|
// import commonModal from "../components/commonModal";
|
||||||
import SearchIdPopup from "@/modules/sysMgt/components/SearchIdPopup";
|
import SearchIdPopup from "@/modules/sysMgt/components/SearchIdPopup";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -121,7 +121,7 @@ export default {
|
|||||||
this.formReset();
|
this.formReset();
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
commonModal,
|
// commonModal,
|
||||||
},
|
},
|
||||||
methods :{
|
methods :{
|
||||||
doPwdValidate(){
|
doPwdValidate(){
|
||||||
@@ -129,7 +129,7 @@ export default {
|
|||||||
// alert("비밀번호 확인을 입력해 주세요.");
|
// alert("비밀번호 확인을 입력해 주세요.");
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '비밀번호를 입력해 주세요.';
|
this.row.msg1 = '비밀번호를 입력해 주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$parent.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
this.$refs._pwd2.focus();
|
this.$refs._pwd2.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -137,7 +137,7 @@ export default {
|
|||||||
// alert("비밀번호가 일치하지 않습니다.");
|
// alert("비밀번호가 일치하지 않습니다.");
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '비밀번호가 일치하지 않습니다.';
|
this.row.msg1 = '비밀번호가 일치하지 않습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$parent.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
this.$refs._pwd2.focus();
|
this.$refs._pwd2.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -146,7 +146,7 @@ export default {
|
|||||||
// alert("비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.");
|
// alert("비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.");
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$parent.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
this.$refs._pwd1.focus();
|
this.$refs._pwd1.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -157,7 +157,7 @@ export default {
|
|||||||
// alert("비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.");
|
// alert("비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.");
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$parent.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
this.$refs._pwd1.focus();
|
this.$refs._pwd1.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
<h3 class="pop-tit" v-if="insertType === 1">관리자 등록</h3>
|
<h3 class="pop-tit" v-if="insertType === 1">관리자 등록</h3>
|
||||||
<h3 class="pop-tit" v-else>유치채널 사용자 등록</h3>
|
<h3 class="pop-tit" v-else>유치채널 사용자 등록</h3>
|
||||||
</div>
|
</div>
|
||||||
<!-- <form autocomplete="off" ref="adminRegForm">-->
|
|
||||||
<table>
|
<table>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -21,23 +20,28 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>비밀번호</th>
|
<th>비밀번호</th>
|
||||||
<td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8" maxlength="16" ref="_pwd1" v-model.trim="userPwd1"></td>
|
<td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8"
|
||||||
|
maxlength="16" ref="_pwd1" v-model.trim="userPwd1"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>비밀번호 확인</th>
|
<th>비밀번호 확인</th>
|
||||||
<td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8" maxlength="16" ref="_pwd2" v-model.trim="userPwd2"></td>
|
<td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8"
|
||||||
|
maxlength="16" ref="_pwd2" v-model.trim="userPwd2"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>이름</th>
|
<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="onlyName" @input="onlyName" v-model.trim="userNm" ref="_userNm" required
|
||||||
|
maxlength="40"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>휴대폰번호</th>
|
<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" ref="_phone" @keypress="onlyNum"
|
||||||
|
@input="onlyNum" minlength="10" maxlength="11"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>이메일</th>
|
<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="20"
|
||||||
|
ref="_email"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr v-if="insertType === 2">
|
<tr v-if="insertType === 2">
|
||||||
<th>코드</th>
|
<th>코드</th>
|
||||||
@@ -68,24 +72,21 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<!-- </form>-->
|
|
||||||
<div class="popup-btn2">
|
<div class="popup-btn2">
|
||||||
<button class="btn-pcolor" @click="doInsert">저장</button>
|
<button class="btn-pcolor" @click="doInsert">저장</button>
|
||||||
<button class="btn-default" @click="ModalClose();">취소</button>
|
<button class="btn-default" @click="ModalClose();">취소</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<search-id-popup ref="searchIdPopModal"> </search-id-popup>
|
|
||||||
<common-modal ref="commmonModal"></common-modal>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<search-id-popup ref="searchIdPopModal"></search-id-popup>
|
||||||
|
<common-modal ref="commmonSysModal"></common-modal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import api from '@/service/api';
|
import api from '@/service/api';
|
||||||
import sysMgtApi from "../service/sysMgtApi.js";
|
import sysMgtApi from "../service/sysMgtApi.js";
|
||||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||||
import SearchIdPopup from '../components/SearchIdPopup.vue';
|
import SearchIdPopup from '../components/SearchIdPopup.vue';
|
||||||
import lodash from "lodash";
|
import lodash from "lodash";
|
||||||
import commonModal from "../components/commonModal";
|
import commonModal from "../components/commonModal";
|
||||||
@@ -93,26 +94,26 @@ import commonModal from "../components/commonModal";
|
|||||||
export default {
|
export default {
|
||||||
name: "adminRegPop",
|
name: "adminRegPop",
|
||||||
mixins: [utils_mixin, chkPattern2],
|
mixins: [utils_mixin, chkPattern2],
|
||||||
watch:{
|
watch: {
|
||||||
stat(){
|
stat() {
|
||||||
console.log('watch : ', this.stat)
|
console.log('watch : ', this.stat)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data(){
|
data() {
|
||||||
return{
|
return {
|
||||||
row: {},
|
row: {},
|
||||||
authType: [],
|
authType: [],
|
||||||
insertType:0,
|
insertType: 0,
|
||||||
madangId:'',
|
madangId: '',
|
||||||
name:'',
|
name: '',
|
||||||
mdn:'',
|
mdn: '',
|
||||||
email:'',
|
email: '',
|
||||||
auth:'',
|
auth: '',
|
||||||
stat: '',
|
stat: '',
|
||||||
userNm:"",
|
userNm: "",
|
||||||
userPwd1:"",
|
userPwd1: "",
|
||||||
userPwd2:"",
|
userPwd2: "",
|
||||||
code:"",
|
code: "",
|
||||||
idCheck: false,
|
idCheck: false,
|
||||||
props: {},
|
props: {},
|
||||||
}
|
}
|
||||||
@@ -126,138 +127,131 @@ export default {
|
|||||||
event: 'event-data'
|
event: 'event-data'
|
||||||
},
|
},
|
||||||
props: ['sendData'],
|
props: ['sendData'],
|
||||||
created(){
|
created() {
|
||||||
//this.formReset();
|
//this.formReset();
|
||||||
this.setAuthData();
|
this.setAuthData();
|
||||||
this.formReset();
|
this.formReset();
|
||||||
},
|
},
|
||||||
methods :{
|
methods: {
|
||||||
doPwdValidate(){
|
doPwdValidate() {
|
||||||
if(this.isNull(this.userPwd1)){
|
if (this.isNull(this.userPwd1)) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '비밀번호를 입력해 주세요.';
|
this.row.msg1 = '비밀번호를 입력해 주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonSysModal.alertSysModalOpen(this.row);
|
||||||
this.$refs._pwd1.focus();
|
this.$refs._pwd1.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(this.isNull(this.userPwd2)){
|
if (this.isNull(this.userPwd2)) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '비밀번호 확인을 입력해 주세요.';
|
this.row.msg1 = '비밀번호 확인을 입력해 주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonSysModal.alertSysModalOpen(this.row);
|
||||||
this.$refs._pwd2.focus();
|
this.$refs._pwd2.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(!lodash.isEqual(this.userPwd1, this.userPwd2)){
|
if (!lodash.isEqual(this.userPwd1, this.userPwd2)) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '비밀번호가 일치하지 않습니다.';
|
this.row.msg1 = '비밀번호가 일치하지 않습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonSysModal.alertSysModalOpen(this.row);
|
||||||
this.$refs._pwd2.focus();
|
this.$refs._pwd2.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const pwdLen = this.bytes(this.userPwd1);
|
const pwdLen = this.bytes(this.userPwd1);
|
||||||
if(!(pwdLen >= 8 && pwdLen <= 16)){
|
if (!(pwdLen >= 8 && pwdLen <= 16)) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonSysModal.alertSysModalOpen(this.row);
|
||||||
this.$refs._pwd1.focus();
|
this.$refs._pwd1.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const pEng = /[A-Za-z]/g; // 영문자
|
const pEng = /[A-Za-z]/g; // 영문자
|
||||||
const pNum = /[0-9]/g; // 숫자
|
const pNum = /[0-9]/g; // 숫자
|
||||||
const pSpc = /[!@$%^&*]/g; // 특수문자
|
const pSpc = /[!@$%^&*]/g; // 특수문자
|
||||||
if(!(pEng.test(this.userPwd1) && pNum.test(this.userPwd1) && pSpc.test(this.userPwd1))) {
|
if (!(pEng.test(this.userPwd1) && pNum.test(this.userPwd1) && pSpc.test(this.userPwd1))) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonSysModal.alertSysModalOpen(this.row);
|
||||||
this.$refs._pwd1.focus();
|
this.$refs._pwd1.focus();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.row.adminPw=this.userPwd1;
|
this.row.adminPw = this.userPwd1;
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
doValidate(){
|
doValidate() {
|
||||||
if(!this.idCheck){
|
if (!this.idCheck) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '유효한 마당ID가 아닙니다.';
|
this.row.msg1 = '유효한 마당ID가 아닙니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonSysModal.alertSysModalOpen(this.row);
|
||||||
this.$refs.madangId.focus();
|
this.$refs.madangId.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(!this.doPwdValidate()){
|
if (!this.doPwdValidate()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(this.isNull(this.userNm)){
|
if (this.isNull(this.userNm)) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '이름을 입력해 주세요.';
|
this.row.msg1 = '이름을 입력해 주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonSysModal.alertSysModalOpen(this.row);
|
||||||
this.$refs._userNm.focus();
|
this.$refs._userNm.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(this.isNull(this.mdn)){
|
if (this.isNull(this.mdn)) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '휴대폰번호를 입력해주세요.';
|
this.row.msg1 = '휴대폰번호를 입력해주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonSysModal.alertSysModalOpen(this.row);
|
||||||
this.$refs._phone.focus();
|
this.$refs._phone.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const hp = this.mdn;
|
const hp = this.mdn;
|
||||||
if(!this.isNull(hp) && !this.isMobile(hp)){
|
if (!this.isNull(hp) && !this.isMobile(hp)) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '휴대폰 번호 형식이 잘못되었습니다. 확인해 주세요.';
|
this.row.msg1 = '휴대폰 번호 형식이 잘못되었습니다. 확인해 주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonSysModal.alertSysModalOpen(this.row);
|
||||||
this.$refs._phone.focus();
|
this.$refs._phone.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(this.isNull(this.email)){
|
if (this.isNull(this.email)) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '이메일을 입력해주세요.';
|
this.row.msg1 = '이메일을 입력해주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonSysModal.alertSysModalOpen(this.row);
|
||||||
this.$refs._email.focus();
|
this.$refs._email.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const email = this.email;
|
const email = this.email;
|
||||||
if(!this.isNull(email) && !lodash.isEqual(email,'@') && !this.emailCheck(email)){
|
if (!this.isNull(email) && !lodash.isEqual(email, '@') && !this.emailCheck(email)) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '이메일 형식이 잘못되었습니다.';
|
this.row.msg1 = '이메일 형식이 잘못되었습니다.';
|
||||||
this.row.msg2 = '확인해 주세요.';
|
this.row.msg2 = '확인해 주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonSysModal.alertSysModalOpen(this.row);
|
||||||
this.$refs._email.focus();
|
this.$refs._email.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(this.isNull(this.auth)){
|
if (this.isNull(this.auth)) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '권한을 선택 해주세요.';
|
this.row.msg1 = '권한을 선택 해주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonSysModal.alertSysModalOpen(this.row);
|
||||||
this.$refs._auth.focus();
|
this.$refs._auth.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(this.isNull(this.stat)){
|
if (this.isNull(this.stat)) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '상태를 선택 해주세요.';
|
this.row.msg1 = '상태를 선택 해주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonSysModal.alertSysModalOpen(this.row);
|
||||||
// this.$refs._auth.focus();
|
// this.$refs._auth.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
this.row.madangId=this.madangId;
|
this.row.madangId = this.madangId;
|
||||||
this.row.name=this.userNm;
|
this.row.name = this.userNm;
|
||||||
this.row.mdn=hp;
|
this.row.mdn = hp;
|
||||||
this.row.email=email;
|
this.row.email = email;
|
||||||
if(this.insertType == 2){
|
this.row.auth = this.auth;
|
||||||
this.row.auth='1003';
|
this.row.stat = this.stat;
|
||||||
}else{
|
|
||||||
this.row.auth=this.auth;
|
|
||||||
}
|
|
||||||
this.row.stat=this.stat;
|
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
// 마당ID 조회
|
// 마당ID 조회
|
||||||
async searchMadangId(){
|
async searchMadangId() {
|
||||||
|
|
||||||
if(!this.madangId){
|
if (!this.madangId) {
|
||||||
// this.row.title = '관리자/유치채널 관리';
|
|
||||||
// this.row.msg1 = '마당ID를 입력해주세요.';
|
|
||||||
// this.$refs.commmonModal.alertModalOpen(this.row);
|
|
||||||
// this.$refs.searchIdPopModal.searchIdModalOpen();
|
|
||||||
this.$refs.madangId.focus();
|
this.$refs.madangId.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -275,7 +269,7 @@ export default {
|
|||||||
this.userNm = result.data.name;
|
this.userNm = result.data.name;
|
||||||
this.email = result.data.email;
|
this.email = result.data.email;
|
||||||
this.mdn = result.data.mdn;
|
this.mdn = result.data.mdn;
|
||||||
|
this.code = result.data.code;
|
||||||
// 마당ID조회 성공 팝업노출
|
// 마당ID조회 성공 팝업노출
|
||||||
this.searchIdPop();
|
this.searchIdPop();
|
||||||
//console.log(this.userNm);
|
//console.log(this.userNm);
|
||||||
@@ -283,30 +277,18 @@ export default {
|
|||||||
this.idCheck = true;
|
this.idCheck = true;
|
||||||
this.$refs._pwd1.focus();
|
this.$refs._pwd1.focus();
|
||||||
return false;
|
return false;
|
||||||
}else if(result.retCode == '1004'){
|
} else if (result.retCode == '1004') {
|
||||||
//alert('마당ID 정보가 없습니다.');
|
|
||||||
// this.row.title = '관리자/유치채널 관리';
|
|
||||||
// this.row.msg1 = '마당ID 정보가 없습니다.';
|
|
||||||
// this.$refs.commmonModal.alertModalOpen(this.row);
|
|
||||||
this.searchIdFailPop();
|
this.searchIdFailPop();
|
||||||
this.idCheck = false;
|
this.idCheck = false;
|
||||||
this.$refs.madangId.focus();
|
this.$refs.madangId.focus();
|
||||||
return false;
|
return false;
|
||||||
}else {
|
} else {
|
||||||
//alert('마당ID 조회에 실패하였습니다.');
|
|
||||||
// this.row.title = '관리자/유치채널 관리';
|
|
||||||
// this.row.msg1 = '마당ID 정보가 없습니다.';
|
|
||||||
// this.$refs.commmonModal.alertModalOpen(this.row);
|
|
||||||
this.searchIdFailPop();
|
this.searchIdFailPop();
|
||||||
this.idCheck = false;
|
this.idCheck = false;
|
||||||
this.$refs.madangId.focus();
|
this.$refs.madangId.focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} catch(err) {
|
} catch (err) {
|
||||||
//alert("실패 하였습니다.");
|
|
||||||
// this.row.title = '관리자/유치채널 관리';
|
|
||||||
// this.row.msg1 = '마당ID 정보가 없습니다.';
|
|
||||||
// this.$refs.commmonModal.alertModalOpen(this.row);
|
|
||||||
this.searchIdFailPop();
|
this.searchIdFailPop();
|
||||||
this.idCheck = false;
|
this.idCheck = false;
|
||||||
this.$refs.madangId.focus();
|
this.$refs.madangId.focus();
|
||||||
@@ -314,7 +296,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
searchIdPop(){
|
searchIdPop() {
|
||||||
//alert('마당ID 조회 성공 팝업이동 ->');
|
//alert('마당ID 조회 성공 팝업이동 ->');
|
||||||
var params = {
|
var params = {
|
||||||
"madangId": this.madangId,
|
"madangId": this.madangId,
|
||||||
@@ -324,54 +306,58 @@ export default {
|
|||||||
}
|
}
|
||||||
this.$refs.searchIdPopModal.searchIdPop(params);
|
this.$refs.searchIdPopModal.searchIdPop(params);
|
||||||
},
|
},
|
||||||
searchIdFailPop(){
|
searchIdFailPop() {
|
||||||
//alert('마당ID 조회 실패 팝업이동 ->');
|
//alert('마당ID 조회 실패 팝업이동 ->');
|
||||||
this.$refs.searchIdPopModal.searchIdFailPop();
|
this.$refs.searchIdPopModal.searchIdFailPop();
|
||||||
},
|
},
|
||||||
resetRegPop(){
|
resetRegPop() {
|
||||||
this.formReset();
|
this.formReset();
|
||||||
this.$refs.madangId.focus();
|
this.$refs.madangId.focus();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
// 모달 띄우기
|
// 모달 띄우기
|
||||||
ModalOpen(insertType){
|
ModalOpen(insertType) {
|
||||||
this.formReset();
|
this.formReset();
|
||||||
this.insertType=insertType;
|
this.insertType = insertType;
|
||||||
|
console.log(insertType)
|
||||||
|
if(insertType === 2){
|
||||||
|
this.auth = '1002';
|
||||||
|
}
|
||||||
var dimmed = document.getElementsByClassName('modal20');
|
var dimmed = document.getElementsByClassName('modal20');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
this.setAuthData();
|
this.setAuthData();
|
||||||
},
|
},
|
||||||
// 모달 끄기
|
// 모달 끄기
|
||||||
ModalClose(){
|
ModalClose() {
|
||||||
var dimmed = document.getElementsByClassName('modal20');
|
var dimmed = document.getElementsByClassName('modal20');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
// 저장 후 부모창 호출.
|
// 저장 후 부모창 호출.
|
||||||
toComplete(){
|
toComplete() {
|
||||||
this.getParent('adminList').$refs.table.reloadData();
|
this.getParent('adminList').$refs.table.reloadData();
|
||||||
this.ModalClose();
|
this.ModalClose();
|
||||||
},
|
},
|
||||||
async doInsert(){
|
async doInsert() {
|
||||||
if(this.doValidate()){
|
if (this.doValidate()) {
|
||||||
try {
|
try {
|
||||||
const response = await sysMgtApi.insertAdmin(this.row);
|
const response = await sysMgtApi.insertAdmin(this.row);
|
||||||
const result = response.data;
|
const result = response.data;
|
||||||
if (result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '저장 하였습니다.';
|
this.row.msg1 = '저장 하였습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonSysModal.alertSysModalOpen(this.row);
|
||||||
this.toComplete();
|
this.toComplete();
|
||||||
}
|
}
|
||||||
} catch(err) {
|
} catch (err) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonSysModal.alertSysModalOpen(this.row);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -381,8 +367,8 @@ export default {
|
|||||||
this.authType = response.data.data.list;
|
this.authType = response.data.data.list;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
formReset(){
|
formReset() {
|
||||||
var type= this.insertType;
|
var type = this.insertType;
|
||||||
Object.assign(this.$data, this.$options.data());
|
Object.assign(this.$data, this.$options.data());
|
||||||
this.insertType = type;
|
this.insertType = type;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<!-- s: 팝업 -->
|
<!-- s: 팝업 -->
|
||||||
<div class="dimmed modal17" @click="searchIdFailModalClose();"></div>
|
<div class="dimmed modal17" @click="searchIdFailModalClose();"></div>
|
||||||
<div class="popup-wrap modal17">
|
<div class="popup-wrap modal17">
|
||||||
<!-- 시스템관리 팝업 -->
|
<!-- 시스템관리 팝업 -->
|
||||||
@@ -31,10 +31,10 @@
|
|||||||
<p>관리자 정보를 입력하시겠습니까?</p>
|
<p>관리자 정보를 입력하시겠습니까?</p>
|
||||||
</div>
|
</div>
|
||||||
<ul class="pop-cont-detail">
|
<ul class="pop-cont-detail">
|
||||||
<li>마당ID : {{madangId}}</li>
|
<li>마당ID : {{ madangId }}</li>
|
||||||
<li>이름 : {{name}}</li>
|
<li>이름 : {{ name }}</li>
|
||||||
<li>휴대폰번호 : {{mdn}}</li>
|
<li>휴대폰번호 : {{ mdn }}</li>
|
||||||
<li>이메일 : {{email}}</li>
|
<li>이메일 : {{ email }}</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="popup-btn2">
|
<div class="popup-btn2">
|
||||||
<button class="btn-pcolor" @click="searchIdModalOkClose();">확인</button>
|
<button class="btn-pcolor" @click="searchIdModalOkClose();">확인</button>
|
||||||
@@ -42,33 +42,59 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 시스템관리 팝업 끝-->
|
<!-- 시스템관리 팝업 끝-->
|
||||||
|
|
||||||
|
<!-- <div class="dimmed alertSysModal1" @click="alertSysModalCancel();"></div>-->
|
||||||
|
<!-- <div class="popup-wrap alertSysModal1">-->
|
||||||
|
<!-- <!– 로그인실패: 확인 –>-->
|
||||||
|
<!-- <div class="popup alertSysModal1">-->
|
||||||
|
<!-- <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-btn1">-->
|
||||||
|
<!-- <button class="btn-pcolor" @click="alertSysModalClose();">확인</button>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- e: 팝업 -->
|
<!-- e: 팝업 -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
//import api from '@/service/api';
|
|
||||||
import sysMgtApi from '../service/sysMgtApi';
|
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data(){
|
data() {
|
||||||
return{
|
return {
|
||||||
authType: [],
|
authType: [],
|
||||||
madangId:'',
|
madangId: '',
|
||||||
adminPw:'',
|
adminPw: '',
|
||||||
name:'',
|
name: '',
|
||||||
mdn:'',
|
mdn: '',
|
||||||
email:'',
|
email: '',
|
||||||
auth:'',
|
auth: '',
|
||||||
stat: ''
|
code: '',
|
||||||
|
stat: '',
|
||||||
|
row:{},
|
||||||
|
title:'',
|
||||||
|
msg1: '',
|
||||||
|
msg2: '',
|
||||||
|
msg3: '',
|
||||||
|
msg4: '',
|
||||||
|
targetFocus: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods :{
|
methods: {
|
||||||
// 모달 띄우기(성공모달)
|
// 모달 띄우기(성공모달)
|
||||||
searchIdModalOpen(target){
|
searchIdModalOpen(target) {
|
||||||
console.log("SearchIdModalOpen");
|
console.log("SearchIdModalOpen");
|
||||||
var dimmed = document.getElementsByClassName('dimmed modal18');
|
var dimmed = document.getElementsByClassName('dimmed modal18');
|
||||||
var wrap = document.getElementsByClassName('popup-wrap modal18');
|
var wrap = document.getElementsByClassName('popup-wrap modal18');
|
||||||
@@ -78,22 +104,22 @@ export default {
|
|||||||
obj[0].style.display = 'block';
|
obj[0].style.display = 'block';
|
||||||
},
|
},
|
||||||
// 성공 모달 끄기(ok)
|
// 성공 모달 끄기(ok)
|
||||||
searchIdModalOkClose(){
|
searchIdModalOkClose() {
|
||||||
var dimmed = document.getElementsByClassName('modal18');
|
var dimmed = document.getElementsByClassName('modal18');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 성공 모달 끄기(cancel)
|
// 성공 모달 끄기(cancel)
|
||||||
searchIdModalCancelClose(){
|
searchIdModalCancelClose() {
|
||||||
var dimmed = document.getElementsByClassName('modal18');
|
var dimmed = document.getElementsByClassName('modal18');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
this.$parent.resetRegPop();
|
this.$parent.resetRegPop();
|
||||||
},
|
},
|
||||||
// 모달 띄우기(실패모달)
|
// 모달 띄우기(실패모달)
|
||||||
searchIdFailModalOpen(target){
|
searchIdFailModalOpen(target) {
|
||||||
console.log("SearchIdFailModalOpen");
|
console.log("SearchIdFailModalOpen");
|
||||||
var dimmed = document.getElementsByClassName('dimmed modal17');
|
var dimmed = document.getElementsByClassName('dimmed modal17');
|
||||||
var wrap = document.getElementsByClassName('popup-wrap modal17');
|
var wrap = document.getElementsByClassName('popup-wrap modal17');
|
||||||
@@ -103,59 +129,61 @@ export default {
|
|||||||
obj[0].style.display = 'block';
|
obj[0].style.display = 'block';
|
||||||
},
|
},
|
||||||
// 실패 모달 끄기
|
// 실패 모달 끄기
|
||||||
searchIdFailModalClose(){
|
searchIdFailModalClose() {
|
||||||
var dimmed = document.getElementsByClassName('modal17');
|
var dimmed = document.getElementsByClassName('modal17');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
this.$parent.resetRegPop();
|
this.$parent.resetRegPop();
|
||||||
},
|
},
|
||||||
searchIdPop(params){
|
searchIdPop(params) {
|
||||||
var userName = params.userNm;
|
var userName = params.userNm;
|
||||||
this.madangId = params.madangId ;
|
this.madangId = params.madangId;
|
||||||
this.name = params.userNm;
|
this.name = params.userNm;
|
||||||
this.email = params.email;
|
this.email = params.email;
|
||||||
this.mdn = params.mdn;
|
this.mdn = params.mdn;
|
||||||
|
this.code = params.code
|
||||||
//alert( userName + ': 조회 성공');
|
//alert( userName + ': 조회 성공');
|
||||||
var dimmed = document.getElementsByClassName('modal18');
|
var dimmed = document.getElementsByClassName('modal18');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
//this.searchIdModalModalOpen('modal18');
|
//this.searchIdModalModalOpen('modal18');
|
||||||
},
|
},
|
||||||
searchIdFailPop(){
|
searchIdFailPop() {
|
||||||
//alert( '조회 실패');
|
//alert( '조회 실패');
|
||||||
var dimmed = document.getElementsByClassName('modal17');
|
var dimmed = document.getElementsByClassName('modal17');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//메뉴바
|
// alertSysModalOpen(props) {
|
||||||
testClick(){
|
// console.log(props);
|
||||||
const menuList = document.querySelectorAll('.main_menu .is-sub');
|
// this.title = props.title;
|
||||||
for(const menu of menuList){
|
// this.msg1 = props.msg1;
|
||||||
menu.addEventListener('click', (e)=> {
|
// this.msg2 = props.msg2;
|
||||||
if(e.target.classList.contains('menu_target') || e.target.classList.contains('menu_btn')){
|
// this.msg3 = props.msg3;
|
||||||
const menuListCheck = e.target.parentNode;
|
// this.msg4 = props.msg4;
|
||||||
if(menuListCheck.classList.contains('is-current')){
|
//
|
||||||
menuListCheck.classList.remove('is-current');
|
// var dimmed = document.getElementsByClassName('alertSysModal1');
|
||||||
} else {
|
// for (var i = 0; i < dimmed.length; i++) {
|
||||||
for(const other of menuList){
|
// dimmed[i].style.display = 'block';
|
||||||
other.classList.remove('is-current');
|
// }
|
||||||
}
|
// },
|
||||||
menuListCheck.classList.add('is-current');
|
// alertSysModalClose() {
|
||||||
}
|
// var dimmed = document.getElementsByClassName('alertSysModal1');
|
||||||
}
|
// for (var i = 0; i < dimmed.length; i++) {
|
||||||
})
|
// dimmed[i].style.display = 'none';
|
||||||
}
|
// }
|
||||||
}
|
// this.$parent.checkFocus();
|
||||||
|
// },
|
||||||
|
// alertSysModalCancel() {
|
||||||
|
// var dimmed = document.getElementsByClassName('alertSysModal1');
|
||||||
|
// for (var i = 0; i < dimmed.length; i++) {
|
||||||
|
// dimmed[i].style.display = 'none';
|
||||||
|
// }
|
||||||
|
// this.$parent.checkFocus();
|
||||||
|
// },
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</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>-->
|
|
||||||
@@ -2,12 +2,12 @@
|
|||||||
<!-- <div class="wrap bg-wrap"> -->
|
<!-- <div class="wrap bg-wrap"> -->
|
||||||
<div>
|
<div>
|
||||||
|
|
||||||
<div class="dimmed alertModal" @click="alertModalCancel();"></div>
|
<div class="dimmed alertSysModal" @click="alertSysModalCancel();"></div>
|
||||||
<div class="popup-wrap alertModal">
|
<div class="popup-wrap alertSysModal">
|
||||||
<!-- 로그인실패: 확인 -->
|
<!-- 로그인실패: 확인 -->
|
||||||
<div class="popup alertModal">
|
<div class="popup alertSysModal">
|
||||||
<div class="pop-head">
|
<div class="pop-head">
|
||||||
<h3 class="pop-tit">{{title}}</h3>
|
<h3 class="pop-tit">{{ title }}</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="pop-cont">
|
<div class="pop-cont">
|
||||||
<p>{{ msg1 }}</p>
|
<p>{{ msg1 }}</p>
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
<p v-if="msg4 !== ''">{{ msg4 }}</p>
|
<p v-if="msg4 !== ''">{{ msg4 }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="popup-btn1">
|
<div class="popup-btn1">
|
||||||
<button class="btn-pcolor" @click="alertModalClose();">확인</button>
|
<button class="btn-pcolor" @click="alertSysModalClose();">확인</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
<!-- 수정 확인 -->
|
<!-- 수정 확인 -->
|
||||||
<div class="popup confirm">
|
<div class="popup confirm">
|
||||||
<div class="pop-head">
|
<div class="pop-head">
|
||||||
<h3 class="pop-tit">{{title}}</h3>
|
<h3 class="pop-tit">{{ title }}</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="pop-cont">
|
<div class="pop-cont">
|
||||||
<p>{{ msg1 }}</p>
|
<p>{{ msg1 }}</p>
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
<!-- 수정 확인 -->
|
<!-- 수정 확인 -->
|
||||||
<div class="popup confirm2">
|
<div class="popup confirm2">
|
||||||
<div class="pop-head">
|
<div class="pop-head">
|
||||||
<h3 class="popup-tit">{{title}}</h3>
|
<h3 class="popup-tit">{{ title }}</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="pop-cont">
|
<div class="pop-cont">
|
||||||
<p>{{ msg1 }}</p>
|
<p>{{ msg1 }}</p>
|
||||||
@@ -67,10 +67,10 @@
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "confirm",
|
name: "confirm",
|
||||||
data(){
|
data() {
|
||||||
return{
|
return {
|
||||||
row:{},
|
row: {},
|
||||||
title:'',
|
title: '',
|
||||||
msg1: '',
|
msg1: '',
|
||||||
msg2: '',
|
msg2: '',
|
||||||
msg3: '',
|
msg3: '',
|
||||||
@@ -78,9 +78,8 @@ export default {
|
|||||||
targetFocus: '',
|
targetFocus: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods :{
|
methods: {
|
||||||
alertModalOpen(props){
|
alertSysModalOpen(props) {
|
||||||
console.log('>>>>>>>>>> alertModalOpen');
|
|
||||||
console.log(props.msg1);
|
console.log(props.msg1);
|
||||||
this.title = props.title;
|
this.title = props.title;
|
||||||
this.msg1 = props.msg1;
|
this.msg1 = props.msg1;
|
||||||
@@ -88,30 +87,30 @@ export default {
|
|||||||
this.msg3 = props.msg3;
|
this.msg3 = props.msg3;
|
||||||
this.msg4 = props.msg4;
|
this.msg4 = props.msg4;
|
||||||
|
|
||||||
var dimmed = document.getElementsByClassName('alertModal');
|
var dimmed = document.getElementsByClassName('alertSysModal');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
alertModalClose(){
|
alertSysModalClose() {
|
||||||
var dimmed = document.getElementsByClassName('alertModal');
|
var dimmed = document.getElementsByClassName('alertSysModal');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
this.$parent.checkFocus();
|
this.$parent.checkFocus();
|
||||||
},
|
},
|
||||||
alertModalCancel(){
|
alertSysModalCancel() {
|
||||||
var dimmed = document.getElementsByClassName('alertModal');
|
var dimmed = document.getElementsByClassName('alertSysModal');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
this.$parent.checkFocus();
|
this.$parent.checkFocus();
|
||||||
},
|
},
|
||||||
// 모달 오픈
|
// 모달 오픈
|
||||||
confirmModalOpen(props){
|
confirmModalOpen(props) {
|
||||||
var dimmed = document.getElementsByClassName('confirm');
|
var dimmed = document.getElementsByClassName('confirm');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,9 +120,9 @@ export default {
|
|||||||
this.msg3 = props.msg3;
|
this.msg3 = props.msg3;
|
||||||
this.msg4 = props.msg4;
|
this.msg4 = props.msg4;
|
||||||
},
|
},
|
||||||
confirmModalOpen2(props){
|
confirmModalOpen2(props) {
|
||||||
var dimmed = document.getElementsByClassName('confirm2');
|
var dimmed = document.getElementsByClassName('confirm2');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'block';
|
dimmed[i].style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -134,9 +133,9 @@ export default {
|
|||||||
this.msg4 = props.msg4;
|
this.msg4 = props.msg4;
|
||||||
},
|
},
|
||||||
// 모달 끄기(ok)
|
// 모달 끄기(ok)
|
||||||
confirmModalClose(){
|
confirmModalClose() {
|
||||||
var dimmed = document.getElementsByClassName('confirm');
|
var dimmed = document.getElementsByClassName('confirm');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -145,9 +144,9 @@ export default {
|
|||||||
this.$parent.confirmCalbackFnc(this.row);
|
this.$parent.confirmCalbackFnc(this.row);
|
||||||
},
|
},
|
||||||
// 모달 끄기(ok)
|
// 모달 끄기(ok)
|
||||||
confirmModalClose2(){
|
confirmModalClose2() {
|
||||||
var dimmed = document.getElementsByClassName('confirm2');
|
var dimmed = document.getElementsByClassName('confirm2');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,9 +155,9 @@ export default {
|
|||||||
this.$parent.confirmCalbackFnc(this.row);
|
this.$parent.confirmCalbackFnc(this.row);
|
||||||
},
|
},
|
||||||
// 모달 끄기(취소)
|
// 모달 끄기(취소)
|
||||||
confirmModalCancel(){
|
confirmModalCancel() {
|
||||||
var dimmed = document.getElementsByClassName('confirm');
|
var dimmed = document.getElementsByClassName('confirm');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -167,9 +166,9 @@ export default {
|
|||||||
this.$parent.confirmCalbackFnc(this.row);
|
this.$parent.confirmCalbackFnc(this.row);
|
||||||
},
|
},
|
||||||
// 모달 끄기(취소)
|
// 모달 끄기(취소)
|
||||||
confirmModalCancel2(){
|
confirmModalCancel2() {
|
||||||
var dimmed = document.getElementsByClassName('confirm2');
|
var dimmed = document.getElementsByClassName('confirm2');
|
||||||
for(var i = 0; i < dimmed.length; i++){
|
for (var i = 0; i < dimmed.length; i++) {
|
||||||
dimmed[i].style.display = 'none';
|
dimmed[i].style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,24 +1,24 @@
|
|||||||
import lodash from "lodash";
|
import lodash from "lodash";
|
||||||
|
|
||||||
const utils_mixin = {
|
const utils_mixin = {
|
||||||
methods:{
|
methods: {
|
||||||
/** * 이메일 형식 체크 * * @param 데이터 */
|
/** * 이메일 형식 체크 * * @param 데이터 */
|
||||||
emailCheck(email,rtnArrYn) {
|
emailCheck(email, rtnArrYn) {
|
||||||
if(this.isNull(rtnArrYn)){
|
if (this.isNull(rtnArrYn)) {
|
||||||
rtnArrYn='N';
|
rtnArrYn = 'N';
|
||||||
}
|
}
|
||||||
// var regExp = /(^[A-Za-z0-9_\.\-]+)@([A-Za-z0-9\-]+\.[A-Za-z0-9\-]+)/;
|
// var regExp = /(^[A-Za-z0-9_\.\-]+)@([A-Za-z0-9\-]+\.[A-Za-z0-9\-]+)/;
|
||||||
var regExp = /^([0-9a-zA-Z_\.\-]([-_.]?[0-9a-zA-Z_\.\-])*)@([0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$)/i;//이메일 정규식
|
var regExp = /^([0-9a-zA-Z_\.\-]([-_.]?[0-9a-zA-Z_\.\-])*)@([0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$)/i;//이메일 정규식
|
||||||
|
|
||||||
if(regExp.test(email) == false) {
|
if (regExp.test(email) == false) {
|
||||||
// 이메일 형식이 알파벳+숫자@알파벳+숫자.알파벳+숫자 형식이 아닐경우
|
// 이메일 형식이 알파벳+숫자@알파벳+숫자.알파벳+숫자 형식이 아닐경우
|
||||||
if(rtnArrYn == 'Y'){
|
if (rtnArrYn == 'Y') {
|
||||||
return email;
|
return email;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}else{
|
} else {
|
||||||
var myArray = regExp.exec(email);
|
var myArray = regExp.exec(email);
|
||||||
if(rtnArrYn == 'Y'){
|
if (rtnArrYn == 'Y') {
|
||||||
return myArray;
|
return myArray;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@@ -26,30 +26,30 @@ const utils_mixin = {
|
|||||||
|
|
||||||
},
|
},
|
||||||
/** * 전화번호 포맷으로 변환 * * @param 데이터 */
|
/** * 전화번호 포맷으로 변환 * * @param 데이터 */
|
||||||
formatPhone(phoneNum,fmt,rtnArrYn) {
|
formatPhone(phoneNum, fmt, rtnArrYn) {
|
||||||
if(this.isNull(fmt)){
|
if (this.isNull(fmt)) {
|
||||||
fmt='';
|
fmt = '';
|
||||||
}
|
}
|
||||||
if(this.isNull(rtnArrYn)){
|
if (this.isNull(rtnArrYn)) {
|
||||||
fmt='N';
|
fmt = 'N';
|
||||||
}
|
}
|
||||||
if(this.isPhone(phoneNum)) {
|
if (this.isPhone(phoneNum)) {
|
||||||
var rtnNum;
|
var rtnNum;
|
||||||
var regExp =/(02)([0-9]{3,4})([0-9]{4})$/;
|
var regExp = /(02)([0-9]{3,4})([0-9]{4})$/;
|
||||||
var myArray;
|
var myArray;
|
||||||
if(regExp.test(phoneNum)){
|
if (regExp.test(phoneNum)) {
|
||||||
myArray = regExp.exec(phoneNum);
|
myArray = regExp.exec(phoneNum);
|
||||||
rtnNum = myArray[1]+fmt + myArray[2]+fmt+myArray[3];
|
rtnNum = myArray[1] + fmt + myArray[2] + fmt + myArray[3];
|
||||||
if(rtnArrYn == 'Y'){
|
if (rtnArrYn == 'Y') {
|
||||||
return myArray;
|
return myArray;
|
||||||
}
|
}
|
||||||
return rtnNum;
|
return rtnNum;
|
||||||
} else {
|
} else {
|
||||||
regExp =/(0[3-9]{1}[0-9]{1})([0-9]{3,4})([0-9]{4})$/;
|
regExp = /(0[3-9]{1}[0-9]{1})([0-9]{3,4})([0-9]{4})$/;
|
||||||
if(regExp.test(phoneNum)){
|
if (regExp.test(phoneNum)) {
|
||||||
myArray = regExp.exec(phoneNum);
|
myArray = regExp.exec(phoneNum);
|
||||||
rtnNum = myArray[1]+fmt+myArray[2]+fmt+myArray[3];
|
rtnNum = myArray[1] + fmt + myArray[2] + fmt + myArray[3];
|
||||||
if(rtnArrYn == 'Y'){
|
if (rtnArrYn == 'Y') {
|
||||||
return myArray;
|
return myArray;
|
||||||
}
|
}
|
||||||
return rtnNum;
|
return rtnNum;
|
||||||
@@ -62,25 +62,25 @@ const utils_mixin = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
/** * 핸드폰번호 포맷으로 변환 * * @param 데이터 */
|
/** * 핸드폰번호 포맷으로 변환 * * @param 데이터 */
|
||||||
formatMobile(phoneNum,fmt,rtnArrYn) {
|
formatMobile(phoneNum, fmt, rtnArrYn) {
|
||||||
|
|
||||||
if(this.isNull(fmt)){
|
if (this.isNull(fmt)) {
|
||||||
fmt='';
|
fmt = '';
|
||||||
}
|
}
|
||||||
if(this.isNull(rtnArrYn)){
|
if (this.isNull(rtnArrYn)) {
|
||||||
fmt='N';
|
fmt = 'N';
|
||||||
}
|
}
|
||||||
if(this.isMobile(phoneNum)) {
|
if (this.isMobile(phoneNum)) {
|
||||||
|
|
||||||
var rtnNum;
|
var rtnNum;
|
||||||
var regExp =/(01[016789])([0-9]{3,4})([0-9]{4})$/;
|
var regExp = /(01[016789])([0-9]{3,4})([0-9]{4})$/;
|
||||||
var myArray;
|
var myArray;
|
||||||
|
|
||||||
if(regExp.test(phoneNum)){
|
if (regExp.test(phoneNum)) {
|
||||||
|
|
||||||
myArray = regExp.exec(phoneNum);
|
myArray = regExp.exec(phoneNum);
|
||||||
rtnNum = myArray[1]+fmt+myArray[2]+fmt+myArray[3];
|
rtnNum = myArray[1] + fmt + myArray[2] + fmt + myArray[3];
|
||||||
if(rtnArrYn == 'Y'){
|
if (rtnArrYn == 'Y') {
|
||||||
return myArray;
|
return myArray;
|
||||||
}
|
}
|
||||||
return rtnNum;
|
return rtnNum;
|
||||||
@@ -94,12 +94,12 @@ const utils_mixin = {
|
|||||||
|
|
||||||
/** * 전화번호 형식 체크 * * @param 데이터 */
|
/** * 전화번호 형식 체크 * * @param 데이터 */
|
||||||
isPhone(phoneNum) {
|
isPhone(phoneNum) {
|
||||||
var regExp =/(02)([0-9]{3,4})([0-9]{4})$/;
|
var regExp = /(02)([0-9]{3,4})([0-9]{4})$/;
|
||||||
if(regExp.test(phoneNum)){
|
if (regExp.test(phoneNum)) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
regExp =/(0[3-9]{1}[0-9]{1})([0-9]{3,4})([0-9]{4})$/;
|
regExp = /(0[3-9]{1}[0-9]{1})([0-9]{3,4})([0-9]{4})$/;
|
||||||
if(regExp.test(phoneNum)){
|
if (regExp.test(phoneNum)) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
@@ -109,9 +109,9 @@ const utils_mixin = {
|
|||||||
|
|
||||||
/** * 핸드폰번호 형식 체크 * * @param 데이터 */
|
/** * 핸드폰번호 형식 체크 * * @param 데이터 */
|
||||||
isMobile(phoneNum) {
|
isMobile(phoneNum) {
|
||||||
var regExp =/(01[016789])([0-9]{3,4})([0-9]{4})$/;
|
var regExp = /(01[016789])([0-9]{3,4})([0-9]{4})$/;
|
||||||
var myArray;
|
var myArray;
|
||||||
if(regExp.test(phoneNum)){
|
if (regExp.test(phoneNum)) {
|
||||||
myArray = regExp.exec(phoneNum);
|
myArray = regExp.exec(phoneNum);
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
@@ -119,9 +119,9 @@ const utils_mixin = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
isMobile2(phoneNum) {
|
isMobile2(phoneNum) {
|
||||||
var regExp =/(1[016789])([0-9]{3,4})([0-9]{4})$/;
|
var regExp = /(1[016789])([0-9]{3,4})([0-9]{4})$/;
|
||||||
var myArray;
|
var myArray;
|
||||||
if(regExp.test(phoneNum)){
|
if (regExp.test(phoneNum)) {
|
||||||
myArray = regExp.exec(phoneNum);
|
myArray = regExp.exec(phoneNum);
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
@@ -129,48 +129,47 @@ const utils_mixin = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
isNull(obj){
|
isNull(obj) {
|
||||||
if(lodash.isNil(obj) || lodash.trim(obj) == ''){
|
if (lodash.isNil(obj) || lodash.trim(obj) == '') {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
getParent(name){
|
getParent(name) {
|
||||||
let p = this.$parent;
|
let p = this.$parent;
|
||||||
while(typeof p !== 'undefined'){
|
while (typeof p !== 'undefined') {
|
||||||
if(p.$options.name == name) {
|
if (p.$options.name == name) {
|
||||||
return p;
|
return p;
|
||||||
}else {
|
} else {
|
||||||
p = p.$parent;
|
p = p.$parent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
getJsonObj(str){
|
getJsonObj(str) {
|
||||||
return JSON.parse(JSON.stringify(str));
|
return JSON.parse(JSON.stringify(str));
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var chkPattern2 = {
|
var chkPattern2 = {
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {}
|
||||||
}
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
selSesStorage(keyLike){
|
selSesStorage(keyLike) {
|
||||||
if(this.isNull(keyLike)){
|
if (this.isNull(keyLike)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if(sessionStorage.length > 0){
|
if (sessionStorage.length > 0) {
|
||||||
let keyList = [];
|
let keyList = [];
|
||||||
for(let i=0;i<sessionStorage.length;i++){
|
for (let i = 0; i < sessionStorage.length; i++) {
|
||||||
const keyNm = sessionStorage.key(i);
|
const keyNm = sessionStorage.key(i);
|
||||||
if(keyNm.indexOf(keyLike) > -1){
|
if (keyNm.indexOf(keyLike) > -1) {
|
||||||
keyList.push({name : keyNm, value : sessionStorage.getItem(keyNm)});
|
keyList.push({name: keyNm, value: sessionStorage.getItem(keyNm)});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(keyList.length > 0){
|
if (keyList.length > 0) {
|
||||||
return keyList;
|
return keyList;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
@@ -178,46 +177,46 @@ const utils_mixin = {
|
|||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
|
|
||||||
delSesStorage(keyList){
|
delSesStorage(keyList) {
|
||||||
if(this.isNull(keyList)){
|
if (this.isNull(keyList)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if(keyList.length > 0){
|
if (keyList.length > 0) {
|
||||||
keyList.map((o) => (sessionStorage.removeItem(o.name)));
|
keyList.map((o) => (sessionStorage.removeItem(o.name)));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
setGridMouseDownActive(){
|
setGridMouseDownActive() {
|
||||||
const ele = document.querySelector(`div.tui-grid-container.tui-grid-show-lside-area`);
|
const ele = document.querySelector(`div.tui-grid-container.tui-grid-show-lside-area`);
|
||||||
if(window.getEventListeners(ele).mousedown){
|
if (window.getEventListeners(ele).mousedown) {
|
||||||
ele.removeEventListener('mousedown',window.getEventListeners(ele).mousedown[0].listener);
|
ele.removeEventListener('mousedown', window.getEventListeners(ele).mousedown[0].listener);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
restrictChars : function($event,regExp,hanYn){
|
restrictChars: function ($event, regExp, hanYn) {
|
||||||
|
|
||||||
if(this.isNull(hanYn)){
|
if (this.isNull(hanYn)) {
|
||||||
hanYn='N';
|
hanYn = 'N';
|
||||||
}
|
}
|
||||||
if(hanYn === 'N' && $event.type === 'keydown'){
|
if (hanYn === 'N' && $event.type === 'keydown') {
|
||||||
if($event.keyCode === 229){
|
if ($event.keyCode === 229) {
|
||||||
$event.preventDefault();
|
$event.preventDefault();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($event.type === 'keypress'){
|
if ($event.type === 'keypress') {
|
||||||
//한글 처리 불가
|
//한글 처리 불가
|
||||||
if(regExp.test(String.fromCharCode($event.charCode))) {
|
if (regExp.test(String.fromCharCode($event.charCode))) {
|
||||||
return true;
|
return true;
|
||||||
}else{
|
} else {
|
||||||
$event.preventDefault();
|
$event.preventDefault();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(hanYn === 'N' && ( $event.type === 'keyup' || $event.type === 'input' || $event.type === 'change' || $event.type === 'blur')){
|
if (hanYn === 'N' && ($event.type === 'keyup' || $event.type === 'input' || $event.type === 'change' || $event.type === 'blur')) {
|
||||||
$event.target.value = $event.target.value.replace(/[ㄱ-ㅎㅏ-ㅣ가-힣]/g,'');
|
$event.target.value = $event.target.value.replace(/[ㄱ-ㅎㅏ-ㅣ가-힣]/g, '');
|
||||||
$event.preventDefault();
|
$event.preventDefault();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -226,24 +225,24 @@ const utils_mixin = {
|
|||||||
setLenth: function (e, len) {
|
setLenth: function (e, len) {
|
||||||
this.cut(e, len);
|
this.cut(e, len);
|
||||||
},
|
},
|
||||||
onlyCustom: function (e,strRegExp,hanYn) {
|
onlyCustom: function (e, strRegExp, hanYn) {
|
||||||
var regExp_g = new RegExp(strRegExp,'g');
|
var regExp_g = new RegExp(strRegExp, 'g');
|
||||||
this.cut(e);
|
this.cut(e);
|
||||||
return this.restrictChars(e,regExp_g,hanYn);
|
return this.restrictChars(e, regExp_g, hanYn);
|
||||||
},
|
},
|
||||||
onlyCommon: function(strRegExp, e, len, isEventCall, hanYn) {
|
onlyCommon: function (strRegExp, e, len, isEventCall, hanYn) {
|
||||||
var regExp_g = new RegExp(strRegExp,'g');
|
var regExp_g = new RegExp(strRegExp, 'g');
|
||||||
if(isEventCall === 'N'){
|
if (isEventCall === 'N') {
|
||||||
if(!this.cut(e, len, isEventCall)){
|
if (!this.cut(e, len, isEventCall)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(!regExp_g.test(e.value)){
|
if (!regExp_g.test(e.value)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
this.cut(e, len);
|
this.cut(e, len);
|
||||||
return this.restrictChars(e,regExp_g,hanYn);
|
return this.restrictChars(e, regExp_g, hanYn);
|
||||||
},
|
},
|
||||||
onlyNum: function (e, len, isEventCall) {
|
onlyNum: function (e, len, isEventCall) {
|
||||||
var strRegExp = '^[0-9]*$';
|
var strRegExp = '^[0-9]*$';
|
||||||
@@ -267,15 +266,15 @@ const utils_mixin = {
|
|||||||
},
|
},
|
||||||
onlyName: function (e, len, isEventCall) {
|
onlyName: function (e, len, isEventCall) {
|
||||||
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z]*$';
|
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z]*$';
|
||||||
return this.onlyCommon(strRegExp, e, len, isEventCall,'Y');
|
return this.onlyCommon(strRegExp, e, len, isEventCall, 'Y');
|
||||||
},
|
},
|
||||||
onlyTitle: function (e, len, isEventCall) {
|
onlyTitle: function (e, len, isEventCall) {
|
||||||
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]*$';
|
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]*$';
|
||||||
return this.onlyCommon(strRegExp, e, len, isEventCall,'Y');
|
return this.onlyCommon(strRegExp, e, len, isEventCall, 'Y');
|
||||||
},
|
},
|
||||||
onlyText: function (e, len, isEventCall) {
|
onlyText: function (e, len, isEventCall) {
|
||||||
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9_-]*$';
|
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9_-]*$';
|
||||||
return this.onlyCommon(strRegExp, e, len, isEventCall,'Y');
|
return this.onlyCommon(strRegExp, e, len, isEventCall, 'Y');
|
||||||
},
|
},
|
||||||
onlyPassword: function (e, len, isEventCall) {
|
onlyPassword: function (e, len, isEventCall) {
|
||||||
var strRegExp = '^[A-Za-z0-9!@#$%^&*]*$';
|
var strRegExp = '^[A-Za-z0-9!@#$%^&*]*$';
|
||||||
@@ -291,22 +290,22 @@ const utils_mixin = {
|
|||||||
},
|
},
|
||||||
onlyRoleNm_Space: function (e, len, isEventCall) {
|
onlyRoleNm_Space: function (e, len, isEventCall) {
|
||||||
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]*$';
|
var strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]*$';
|
||||||
return this.onlyCommon(strRegExp, e, len, isEventCall,'Y');
|
return this.onlyCommon(strRegExp, e, len, isEventCall, 'Y');
|
||||||
},
|
},
|
||||||
onlyRoleId_UnderBar: function (e, len, isEventCall) {
|
onlyRoleId_UnderBar: function (e, len, isEventCall) {
|
||||||
var strRegExp = '^[a-zA-Z0-9_]*$';
|
var strRegExp = '^[a-zA-Z0-9_]*$';
|
||||||
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
return this.onlyCommon(strRegExp, e, len, isEventCall);
|
||||||
},
|
},
|
||||||
cut: function (ele, len, isValidChk) {
|
cut: function (ele, len, isValidChk) {
|
||||||
let e=ele;
|
let e = ele;
|
||||||
if (typeof ele.target != "undefined") {
|
if (typeof ele.target != "undefined") {
|
||||||
e=ele.target;
|
e = ele.target;
|
||||||
}
|
}
|
||||||
let max = this.isNull(len) ? e.attributes.maxlength.value : len;
|
let max = this.isNull(len) ? e.attributes.maxlength.value : len;
|
||||||
let str = e.value;
|
let str = e.value;
|
||||||
|
|
||||||
if (this.bytes(str) > max) {
|
if (this.bytes(str) > max) {
|
||||||
if(this.isNull(isValidChk)){
|
if (this.isNull(isValidChk)) {
|
||||||
e.value = this.cutBytes(str, max);
|
e.value = this.cutBytes(str, max);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -314,19 +313,19 @@ const utils_mixin = {
|
|||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
cutBytes: function (str, len) {
|
cutBytes: function (str, len) {
|
||||||
while(1 === 1){
|
while (1 === 1) {
|
||||||
if(this.bytes(str) <= len){
|
if (this.bytes(str) <= len) {
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
str = str.slice(0,-1);
|
str = str.slice(0, -1);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
bytes: function (str) {
|
bytes: function (str) {
|
||||||
var length = ((s,b,i,c) => {
|
var length = ((s, b, i, c) => {
|
||||||
// for(b=i=0;c=s.charCodeAt(i++);b+=c>>11?3:c>>7?2:1); // 한글 3바이트
|
// for(b=i=0;c=s.charCodeAt(i++);b+=c>>11?3:c>>7?2:1); // 한글 3바이트
|
||||||
// for(b=i=0;c=s.charCodeAt(i++);b+=c>>11?2:c>>7?1:1); //한글 2바이트
|
// for(b=i=0;c=s.charCodeAt(i++);b+=c>>11?2:c>>7?1:1); //한글 2바이트
|
||||||
b=0,i=0;
|
b = 0, i = 0;
|
||||||
while(1 === 1){
|
while (1 === 1) {
|
||||||
c = s.charCodeAt(i++);
|
c = s.charCodeAt(i++);
|
||||||
if (isNaN(c)) {
|
if (isNaN(c)) {
|
||||||
break;
|
break;
|
||||||
@@ -337,17 +336,23 @@ const utils_mixin = {
|
|||||||
})(str);
|
})(str);
|
||||||
return length;
|
return length;
|
||||||
},
|
},
|
||||||
checkPhone: function(str) {
|
checkPhone: function (str) {
|
||||||
str = str.replace(/[-\s]+/g, '');
|
str = str.replace(/[-\s]+/g, '');
|
||||||
if (str.charAt(0)!="0"){
|
if (str.charAt(0) != "0") {
|
||||||
str = "0"+str;
|
str = "0" + str;
|
||||||
|
}
|
||||||
|
if (str.length < 10 || str.length > 12) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
if (isNaN(str)) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
if (str.substr(0, 2) != "01" && str.substr(0, 3) != "070" && str.substr(0, 4) != "0505" && str.substr(0, 4) != "0503") {
|
||||||
|
return "";
|
||||||
}
|
}
|
||||||
if (str.length<10||str.length>12){return "";}
|
|
||||||
if (isNaN(str)){return ""; }
|
|
||||||
if (str.substr(0,2)!="01" && str.substr(0,3)!="070" && str.substr(0,4)!="0505" && str.substr(0,4)!="0503"){return ""; }
|
|
||||||
return str;
|
return str;
|
||||||
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
export { utils_mixin, chkPattern2 };
|
export {utils_mixin, chkPattern2};
|
||||||
@@ -5,7 +5,6 @@
|
|||||||
<h3 class="title">관리자/유치채널 관리</h3>
|
<h3 class="title">관리자/유치채널 관리</h3>
|
||||||
<p class="breadcrumb">시스템관리 > 관리자/유치채널 관리</p>
|
<p class="breadcrumb">시스템관리 > 관리자/유치채널 관리</p>
|
||||||
</div>
|
</div>
|
||||||
<form autocomplete="off" class="search_form">
|
|
||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<div class="select_box">
|
<div class="select_box">
|
||||||
<label for="right" class="label">권한</label>
|
<label for="right" class="label">권한</label>
|
||||||
@@ -27,15 +26,16 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="input_box id">
|
<div class="input_box id">
|
||||||
<label for="id1" class="label">ID</label>
|
<label for="id1" class="label">ID</label>
|
||||||
<input type="text" id="id1" placeholder="검색어 입력" v-model="grid.params.searchText1" @keyup.enter="search"/>
|
<input type="text" id="id1" placeholder="검색어 입력" v-model.trim="grid.params.searchText1"
|
||||||
|
@keyup.enter="search"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="input_box">
|
<div class="input_box">
|
||||||
<label for="name" class="label">이름(대리점명)</label>
|
<label for="name" class="label">이름(대리점명)</label>
|
||||||
<input type="text" id="name" placeholder="검색어 입력" v-model="grid.params.searchText2" @keyup.enter="search"/>
|
<input type="text" id="name" placeholder="검색어 입력" v-model.trim="grid.params.searchText2"
|
||||||
|
@keyup.enter="search"/>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="button grey" @click="search">조회</button>
|
<button type="button" class="button grey" @click="search">조회</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">총 <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>
|
||||||
<div class="button_group">
|
<div class="button_group">
|
||||||
@@ -59,9 +59,8 @@
|
|||||||
:header="grid.headder"
|
:header="grid.headder"
|
||||||
></custom-grid>
|
></custom-grid>
|
||||||
</div>
|
</div>
|
||||||
<admin-reg-pop ref="adminRegModal"> </admin-reg-pop>
|
<admin-reg-pop ref="adminRegModal"></admin-reg-pop>
|
||||||
<!-- <admin-reg2-pop ref="adminReg2Modal"> </admin-reg2-pop> -->
|
<admin-detail-pop ref="adminDetailModal"></admin-detail-pop>
|
||||||
<admin-detail-pop ref="adminDetailModal"> </admin-detail-pop>
|
|
||||||
<common-modal ref="commmonModal"></common-modal>
|
<common-modal ref="commmonModal"></common-modal>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -82,7 +81,7 @@ class CustomATagRenderer {
|
|||||||
const el = document.createElement('a');
|
const el = document.createElement('a');
|
||||||
el.href = 'javascript:void(0);';
|
el.href = 'javascript:void(0);';
|
||||||
el.className = 'btn_text';
|
el.className = 'btn_text';
|
||||||
el.innerText= String(props.colValue)
|
el.innerText = String(props.colValue)
|
||||||
this.el = el;
|
this.el = el;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -92,7 +91,7 @@ class CustomATagRenderer {
|
|||||||
|
|
||||||
addEvent(selEl) {
|
addEvent(selEl) {
|
||||||
selEl.addEventListener("click", () => {
|
selEl.addEventListener("click", () => {
|
||||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
const {callback} = this.props["cgrido" + this.props.colName].options;
|
||||||
callback(this.props);
|
callback(this.props);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -109,8 +108,8 @@ export default {
|
|||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
// 테이블 리스트 데이터
|
// 테이블 리스트 데이터
|
||||||
perPageCnt: 20,
|
perPageCnt: 20,
|
||||||
searchType1:'',
|
searchType1: '',
|
||||||
searchType2:'',
|
searchType2: '',
|
||||||
grid: {
|
grid: {
|
||||||
url: '/api/v1/bo/sysMgt/adminList',
|
url: '/api/v1/bo/sysMgt/adminList',
|
||||||
pagePerRows: 20,
|
pagePerRows: 20,
|
||||||
@@ -120,18 +119,19 @@ export default {
|
|||||||
addCls: 'box_OFvis',
|
addCls: 'box_OFvis',
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
{ name: 'no', header: 'NO', align: 'center', width: '15%'},
|
{name: 'no', header: 'NO', align: 'center', width: '15%'},
|
||||||
{ name: 'auth', header: '권한', align: 'center', width: '15%' },
|
{name: 'auth', header: '권한', align: 'center', width: '15%'},
|
||||||
{ name: 'name', header: '이름(대리점명)', align: 'center', width: '20%'},
|
{name: 'name', header: '이름(대리점명)', align: 'center', width: '20%'},
|
||||||
{ name: 'adminId', header: 'ID', align: 'center', width: '20%', renderer: {
|
{
|
||||||
|
name: 'adminId', header: 'ID', align: 'center', width: '20%', renderer: {
|
||||||
type: CustomATagRenderer
|
type: CustomATagRenderer
|
||||||
, options: {
|
, options: {
|
||||||
callback: this.detailPop,
|
callback: this.detailPop,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: 'adminStat', header: '상태', align: 'center', width: '5%', cls: 'td_line'},
|
{name: 'adminStat', header: '상태', align: 'center', width: '5%', cls: 'td_line'},
|
||||||
{ name: 'regDt', header: '등록일', align: 'center', width: '20%'}
|
{name: 'regDt', header: '등록일', align: 'center', width: '20%'}
|
||||||
],
|
],
|
||||||
noDataStr: '검색 결과가 없습니다.',
|
noDataStr: '검색 결과가 없습니다.',
|
||||||
params: {
|
params: {
|
||||||
@@ -151,7 +151,7 @@ export default {
|
|||||||
commonModal,
|
commonModal,
|
||||||
AdminDetailPop,
|
AdminDetailPop,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
this.setCodeData();
|
this.setCodeData();
|
||||||
//let cont = document.querySelector(".wrap");
|
//let cont = document.querySelector(".wrap");
|
||||||
//cont.classList.add("main_wrap");
|
//cont.classList.add("main_wrap");
|
||||||
@@ -163,8 +163,8 @@ export default {
|
|||||||
let page = 1;
|
let page = 1;
|
||||||
// 페이지 정보 및 검색 조건
|
// 페이지 정보 및 검색 조건
|
||||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||||
console.log('getCondition : '+getCondition);
|
console.log('getCondition : ' + getCondition);
|
||||||
|
console.log(getCondition)
|
||||||
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
||||||
let isKeep = false;
|
let isKeep = false;
|
||||||
if (getCondition) {
|
if (getCondition) {
|
||||||
@@ -176,12 +176,12 @@ export default {
|
|||||||
this.search(isKeep);
|
this.search(isKeep);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
search: function(isKeep) {
|
search: function (isKeep) {
|
||||||
console.log('this.perPageCnt'+this.perPageCnt);
|
console.log(isKeep)
|
||||||
|
console.log('this.perPageCnt' + this.perPageCnt);
|
||||||
//console.log(this.grid.params);
|
//console.log(this.grid.params);
|
||||||
this.grid.params.searchType1 = this.searchType1
|
this.grid.params.searchType1 = this.searchType1
|
||||||
this.grid.params.searchType2 = this.searchType2
|
this.grid.params.searchType2 = this.searchType2
|
||||||
this.grid.pagePerRows = this.perPageCnt
|
|
||||||
this.$refs.table.search(this.grid.params, isKeep);
|
this.$refs.table.search(this.grid.params, isKeep);
|
||||||
this.sendStoreData();
|
this.sendStoreData();
|
||||||
},
|
},
|
||||||
@@ -190,27 +190,27 @@ export default {
|
|||||||
// this.setDtlPpPrm(props);
|
// this.setDtlPpPrm(props);
|
||||||
this.$refs.adminDetailModal.adminDetailModalOpen(props);
|
this.$refs.adminDetailModal.adminDetailModalOpen(props);
|
||||||
},
|
},
|
||||||
ModalOpen: function(target){
|
ModalOpen: function (target) {
|
||||||
//this.$refs.systemModal.ModalOpen(target);
|
//this.$refs.systemModal.ModalOpen(target);
|
||||||
},
|
},
|
||||||
adminRegPopOpen: function(){
|
adminRegPopOpen: function () {
|
||||||
this.$refs.adminRegModal.ModalOpen(1);
|
this.$refs.adminRegModal.ModalOpen(1);
|
||||||
},
|
},
|
||||||
adminReg2PopOpen: function(){
|
adminReg2PopOpen: function () {
|
||||||
this.$refs.adminRegModal.ModalOpen(2);
|
this.$refs.adminRegModal.ModalOpen(2);
|
||||||
//this.$refs.adminReg2Modal.adminReg2ModalOpen();//
|
//this.$refs.adminReg2Modal.adminReg2ModalOpen();//
|
||||||
},
|
},
|
||||||
doValidate(){ //로우데이터 삭제하도록 수정
|
doValidate() { //로우데이터 삭제하도록 수정
|
||||||
|
|
||||||
console.log("totalItems >> " + this.totalItems);
|
console.log("totalItems >> " + this.totalItems);
|
||||||
if(this.totalItems == 0){
|
if (this.totalItems == 0) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '검색 결과가 없습니다.';
|
this.row.msg1 = '검색 결과가 없습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var chkList = this.$refs.table.checkedElementDatas();
|
var chkList = this.$refs.table.checkedElementDatas();
|
||||||
if(chkList.length == 0){
|
if (chkList.length == 0) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '삭제대상을 체크 해주세요.';
|
this.row.msg1 = '삭제대상을 체크 해주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
@@ -219,13 +219,13 @@ export default {
|
|||||||
// for(var i = 0; i < chkList.length; i++){
|
// for(var i = 0; i < chkList.length; i++){
|
||||||
// alert(chkList[i].adminId);
|
// alert(chkList[i].adminId);
|
||||||
// }
|
// }
|
||||||
const param = chkList.map((row)=>({adminId:row.adminId}));
|
const param = chkList.map((row) => ({adminId: row.adminId}));
|
||||||
console.log(param)
|
console.log(param)
|
||||||
this.row.list = param;
|
this.row.list = param;
|
||||||
console.log(this.row);
|
console.log(this.row);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
sendStoreData: function() {
|
sendStoreData: function () {
|
||||||
const getP = this.$refs.table.getPagination();
|
const getP = this.$refs.table.getPagination();
|
||||||
console.log("==========getP : " + getP);
|
console.log("==========getP : " + getP);
|
||||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||||
@@ -240,21 +240,21 @@ export default {
|
|||||||
setCodeData() {
|
setCodeData() {
|
||||||
|
|
||||||
// 상태 옵션 셋팅.
|
// 상태 옵션 셋팅.
|
||||||
api.commCode({'grpCd' : 'ADM_STTUS_CD'}).then(response => {
|
api.commCode({'grpCd': 'ADM_STTUS_CD'}).then(response => {
|
||||||
this.statType = response.data.data.list;
|
this.statType = response.data.data.list;
|
||||||
});
|
});
|
||||||
api.commAuth().then(response => {
|
api.commAuth().then(response => {
|
||||||
this.authType = response.data.data.list;
|
this.authType = response.data.data.list;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
rowDelete(){
|
rowDelete() {
|
||||||
if(this.doValidate()){
|
if (this.doValidate()) {
|
||||||
this.row.title ='관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 ='삭제 하시겠습니까?'
|
this.row.msg1 = '삭제 하시겠습니까?'
|
||||||
this.$refs.commmonModal.confirmModalOpen2(this.row);
|
this.$refs.commmonModal.confirmModalOpen2(this.row);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async deleteRow(){
|
async deleteRow() {
|
||||||
try {
|
try {
|
||||||
let response = await sysMgtApi.deleteAdmin(this.row);
|
let response = await sysMgtApi.deleteAdmin(this.row);
|
||||||
const result = response.data;
|
const result = response.data;
|
||||||
@@ -265,15 +265,15 @@ export default {
|
|||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
} catch(err) {
|
} catch (err) {
|
||||||
this.row.title = '관리자/유치채널 관리';
|
this.row.title = '관리자/유치채널 관리';
|
||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
confirmCalbackFnc(props){
|
confirmCalbackFnc(props) {
|
||||||
console.log(props)
|
console.log(props)
|
||||||
if(props.result){
|
if (props.result) {
|
||||||
this.deleteRow();
|
this.deleteRow();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
<div class="title">권한 추가</div>
|
<div class="title">권한 추가</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="table table_form">
|
<div class="table table_form">
|
||||||
<form autocomplete="off">
|
|
||||||
<table>
|
<table>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr class="tr_input w30">
|
<tr class="tr_input w30">
|
||||||
@@ -34,7 +33,7 @@
|
|||||||
<tr class="tr_checkbox">
|
<tr class="tr_checkbox">
|
||||||
<td class="check" rowspan="2">
|
<td class="check" rowspan="2">
|
||||||
<p>메뉴 권한 체크</p>
|
<p>메뉴 권한 체크</p>
|
||||||
<input type="checkbox" id="right_check0" v-model="checkedAuthMenuAll">
|
<input type="checkbox" id="right_check0" ref="checkedAuthMenuAll_" v-model="checkedAuthMenuAll">
|
||||||
<div class="label_group">
|
<div class="label_group">
|
||||||
<label for="right_check0"></label>
|
<label for="right_check0"></label>
|
||||||
<label for="right_check0">전체 체크</label>
|
<label for="right_check0">전체 체크</label>
|
||||||
@@ -50,19 +49,9 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="check">
|
<td class="check">
|
||||||
<p>유치현황관리</p>
|
<p>유치현황관리</p>
|
||||||
<!-- <input type="checkbox" id="right_check2" value="" v-model="checkedAuthMenu">
|
|
||||||
<div class="label_group">
|
|
||||||
<label for="right_check2"></label>
|
|
||||||
<label for="right_check2">유치현황관리</label>
|
|
||||||
</div>
|
|
||||||
<input type="checkbox" id="right_check3" value="2003" v-model="checkedAuthMenu">
|
|
||||||
<div class="label_group">
|
|
||||||
<label for="right_check3"></label>
|
|
||||||
<label for="right_check3">유치관리자 현황</label>
|
|
||||||
</div> -->
|
|
||||||
<div class="label_group">
|
<div class="label_group">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="td_radio" >
|
<td class="td_radio">
|
||||||
<input type="radio" name="userStat" value="2002" id="channel_radio1" v-model="channelAuth">
|
<input type="radio" name="userStat" value="2002" id="channel_radio1" v-model="channelAuth">
|
||||||
<label for="channel_radio1">유치채널현황</label>
|
<label for="channel_radio1">유치채널현황</label>
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
@@ -181,7 +170,6 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="pop-btn2">
|
<div class="pop-btn2">
|
||||||
<button class="btn-default" type="button" @click="authAddCancel()">취소</button>
|
<button class="btn-default" type="button" @click="authAddCancel()">취소</button>
|
||||||
@@ -195,7 +183,7 @@
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
import sysMgtApi from "../service/sysMgtApi.js";
|
import sysMgtApi from "../service/sysMgtApi.js";
|
||||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||||
//import commonModal from "@/components/modal/commonModal";
|
//import commonModal from "@/components/modal/commonModal";
|
||||||
import commonModal from "../components/commonModal";
|
import commonModal from "../components/commonModal";
|
||||||
|
|
||||||
@@ -210,15 +198,15 @@ export default {
|
|||||||
authCd: "",
|
authCd: "",
|
||||||
authDesc: "",
|
authDesc: "",
|
||||||
stat: "01", // 등록화면 상태 Default 값 지정(사용:01)
|
stat: "01", // 등록화면 상태 Default 값 지정(사용:01)
|
||||||
defaultAuthMenu:["2001","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019"],
|
defaultAuthMenu: ["2001", "2004", "2005", "2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013", "2014", "2015", "2016", "2017", "2018", "2019"],
|
||||||
checkedAuthMenu:[],
|
checkedAuthMenu: [],
|
||||||
channelAuth: "",
|
channelAuth: "",
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
commonModal,
|
commonModal,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
//this.setCodeData();
|
//this.setCodeData();
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
@@ -228,10 +216,10 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
doValidate(){
|
doValidate() {
|
||||||
|
|
||||||
// 필수 등록정보 체크
|
// 필수 등록정보 체크
|
||||||
if(this.isNull(this.authNm)){
|
if (this.isNull(this.authNm)) {
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
this.row.msg1 = '권한명을 입력해 주세요.';
|
this.row.msg1 = '권한명을 입력해 주세요.';
|
||||||
this.row.focusTaget = '1';
|
this.row.focusTaget = '1';
|
||||||
@@ -239,7 +227,7 @@ export default {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.isNull(this.authCd)){
|
if (this.isNull(this.authCd)) {
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
this.row.msg1 = '권한 코드를 입력해 주세요.';
|
this.row.msg1 = '권한 코드를 입력해 주세요.';
|
||||||
this.row.focusTaget = '2';
|
this.row.focusTaget = '2';
|
||||||
@@ -247,7 +235,7 @@ export default {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.authCd.length > 5){
|
if (this.authCd.length > 5) {
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
this.row.msg1 = '권한코드는 영문과 숫자포함 최대4자리까지 입력해주세요.';
|
this.row.msg1 = '권한코드는 영문과 숫자포함 최대4자리까지 입력해주세요.';
|
||||||
this.row.focusTaget = '2';
|
this.row.focusTaget = '2';
|
||||||
@@ -255,14 +243,14 @@ export default {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.isNull(this.stat)){
|
if (this.isNull(this.stat)) {
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
this.row.msg1 = '상태를 체크해 주세요.';
|
this.row.msg1 = '상태를 체크해 주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.checkedAuthMenu.length == 0){
|
if (this.checkedAuthMenu.length == 0) {
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
this.row.msg1 = '메뉴 권한 체크를 해주세요.';
|
this.row.msg1 = '메뉴 권한 체크를 해주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
@@ -274,11 +262,11 @@ export default {
|
|||||||
},
|
},
|
||||||
authAddCancel() {
|
authAddCancel() {
|
||||||
// 권한리스트 페이지로 이동
|
// 권한리스트 페이지로 이동
|
||||||
this.$router.push({ name: 'authList'});
|
this.$router.push({name: 'authList'});
|
||||||
|
|
||||||
},
|
},
|
||||||
authAddSave(){
|
authAddSave() {
|
||||||
if(this.doValidate()){
|
if (this.doValidate()) {
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
this.row.msg1 = '권한 등록 저장하시겠습니까?';
|
this.row.msg1 = '권한 등록 저장하시겠습니까?';
|
||||||
this.row.focusTaget = '0';
|
this.row.focusTaget = '0';
|
||||||
@@ -286,16 +274,16 @@ export default {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async authInsert(){
|
async authInsert() {
|
||||||
|
|
||||||
var reqAuthMenuArr = this.checkedAuthMenu;
|
var reqAuthMenuArr = this.checkedAuthMenu;
|
||||||
var listArr = [];
|
var listArr = [];
|
||||||
var dataMap = {};
|
var dataMap = {};
|
||||||
if(this.channelAuth !== ''){
|
if (this.channelAuth !== '') {
|
||||||
dataMap.menuNo = this.channelAuth;
|
dataMap.menuNo = this.channelAuth;
|
||||||
listArr.push(dataMap);
|
listArr.push(dataMap);
|
||||||
}
|
}
|
||||||
for(var i = 0; i< reqAuthMenuArr.length; i++){
|
for (var i = 0; i < reqAuthMenuArr.length; i++) {
|
||||||
dataMap = {};
|
dataMap = {};
|
||||||
dataMap.menuNo = reqAuthMenuArr[i];
|
dataMap.menuNo = reqAuthMenuArr[i];
|
||||||
listArr.push(dataMap);
|
listArr.push(dataMap);
|
||||||
@@ -316,9 +304,9 @@ export default {
|
|||||||
if (result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
//alert('저장 하였습니다.');
|
//alert('저장 하였습니다.');
|
||||||
// 권한리스트 페이지 이동
|
// 권한리스트 페이지 이동
|
||||||
this.$router.push({ name: 'authList'});
|
this.$router.push({name: 'authList'});
|
||||||
|
|
||||||
} else if(result.retCode == "4017"){
|
} else if (result.retCode == "4017") {
|
||||||
//alert("권한코드가 이미 존재합니다.");
|
//alert("권한코드가 이미 존재합니다.");
|
||||||
//this.$refs._authCd.focus();
|
//this.$refs._authCd.focus();
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
@@ -336,7 +324,7 @@ export default {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch(err) {
|
} catch (err) {
|
||||||
//alert("실패 하였습니다.");
|
//alert("실패 하였습니다.");
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
@@ -346,30 +334,36 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
checkFocus(){
|
checkFocus() {
|
||||||
if(this.row.focusTaget === '1'){
|
if (this.row.focusTaget === '1') {
|
||||||
this.$refs._authNm.focus();
|
this.$refs._authNm.focus();
|
||||||
} else if(this.row.focusTaget === '2'){
|
} else if (this.row.focusTaget === '2') {
|
||||||
this.$refs._authCd.focus();
|
this.$refs._authCd.focus();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
confirmCalbackFnc(props){
|
confirmCalbackFnc(props) {
|
||||||
if(props.result){
|
if (props.result) {
|
||||||
this.authInsert();
|
this.authInsert();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
// 체크박스 전체선택 기능
|
// 체크박스 전체선택 기능
|
||||||
checkedAuthMenuAll : {
|
checkedAuthMenuAll: {
|
||||||
get: function () {
|
get: function () {
|
||||||
return this.defaultAuthMenu.length === this.checkedAuthMenu.length;
|
if (this.defaultAuthMenu.length === this.checkedAuthMenu.length) {
|
||||||
|
if (this.channelAuth === '') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
set: function (e) {
|
set: function (e) {
|
||||||
//this.checkedAuthMenu = e ? this.defaultAuthMenu : [];
|
if (e) {
|
||||||
if(e){
|
|
||||||
this.checkedAuthMenu = this.defaultAuthMenu;
|
this.checkedAuthMenu = this.defaultAuthMenu;
|
||||||
if(this.channelAuth === ''){
|
if (this.channelAuth === '') {
|
||||||
this.channelAuth = '2002';
|
this.channelAuth = '2002';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -379,6 +373,5 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
<p class="breadcrumb">시스템관리 > 권한 관리</p>
|
<p class="breadcrumb">시스템관리 > 권한 관리</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="count">총 <span>{{totalCnt}}</span>건</div>
|
<div class="count">총 <span>{{ totalCnt }}</span>건</div>
|
||||||
<div class="button_group">
|
<div class="button_group">
|
||||||
<button type="button" class="button blue add" @click="insertAuth()">권한 추가</button>
|
<button type="button" class="button blue add" @click="insertAuth()">권한 추가</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -38,10 +38,6 @@
|
|||||||
<td>{{ option.authNm }}</td>
|
<td>{{ option.authNm }}</td>
|
||||||
<td>{{ option.authStat }}</td>
|
<td>{{ option.authStat }}</td>
|
||||||
<td>{{ option.regDt }}</td>
|
<td>{{ option.regDt }}</td>
|
||||||
<!-- <td v-if="option.authCd !== '1001' && option.authCd !== '1002'" class="two_btn_group">
|
|
||||||
<button type="button" class="button grey" @click="updateAuth(option.authCd)">수정</button>
|
|
||||||
<button type="button" class="button white delete" @click="deleteAuth(option.authCd)">삭제</button>
|
|
||||||
</td> -->
|
|
||||||
<td v-if="option.authCd === '1001' || option.authCd === '1002'" class="two_btn_group">
|
<td v-if="option.authCd === '1001' || option.authCd === '1002'" class="two_btn_group">
|
||||||
</td>
|
</td>
|
||||||
<td v-else class="two_btn_group">
|
<td v-else class="two_btn_group">
|
||||||
@@ -49,19 +45,6 @@
|
|||||||
<button type="button" class="button white delete" @click="authDelete(option.authCd)">삭제</button>
|
<button type="button" class="button white delete" @click="authDelete(option.authCd)">삭제</button>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<!--
|
|
||||||
<tr>
|
|
||||||
<td>4</td>
|
|
||||||
<td>Admin_01</td>
|
|
||||||
<td>슈퍼관리자</td>
|
|
||||||
<td>사용</td>
|
|
||||||
<td>2022-03-10</td>
|
|
||||||
<td class="two_btn_group">
|
|
||||||
<button type="button" class="button grey" onclick="location.href='system_right_modify.html';">수정</button>
|
|
||||||
<button type="button" class="button white delete">삭제</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
-->
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
@@ -79,14 +62,14 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
row: {},
|
row: {},
|
||||||
list:[],
|
list: [],
|
||||||
totalCnt: '',
|
totalCnt: '',
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
commonModal,
|
commonModal,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
this.getAuthList();
|
this.getAuthList();
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
@@ -96,7 +79,7 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async getAuthList(){
|
async getAuthList() {
|
||||||
console.log('getAuthList Start');
|
console.log('getAuthList Start');
|
||||||
//this.row.serviceId = serviceId;
|
//this.row.serviceId = serviceId;
|
||||||
try {
|
try {
|
||||||
@@ -107,31 +90,31 @@ export default {
|
|||||||
this.list = result.data.list;
|
this.list = result.data.list;
|
||||||
this.totalCnt = result.data.list.length;
|
this.totalCnt = result.data.list.length;
|
||||||
} else {
|
} else {
|
||||||
this.row.title ='권한 관리';
|
this.row.title = '권한 관리';
|
||||||
this.row.msg1 ='조회정보가 없습니다.'
|
this.row.msg1 = '조회정보가 없습니다.'
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
}
|
}
|
||||||
} catch(err) {
|
} catch (err) {
|
||||||
this.row.title ='권한 관리';
|
this.row.title = '권한 관리';
|
||||||
this.row.msg1 ='실패 하였습니다.'
|
this.row.msg1 = '실패 하였습니다.'
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
insertAuth(){
|
insertAuth() {
|
||||||
//console.log("권한추가 페이지 이동");
|
//console.log("권한추가 페이지 이동");
|
||||||
this.$router.push({ name: 'authAdd'});
|
this.$router.push({name: 'authAdd'});
|
||||||
},
|
},
|
||||||
updateAuth(target){
|
updateAuth(target) {
|
||||||
//console.log("수정페이지로 이동:"+target);
|
//console.log("수정페이지로 이동:"+target);
|
||||||
this.$router.push({ name: 'authModify', params: { targetAuthCd: target }});
|
this.$router.push({name: 'authModify', params: {targetAuthCd: target}});
|
||||||
},
|
},
|
||||||
authDelete(target){
|
authDelete(target) {
|
||||||
this.row.authCd = target;
|
this.row.authCd = target;
|
||||||
this.row.title ='권한 관리';
|
this.row.title = '권한 관리';
|
||||||
this.row.msg1 ='삭제 하시겠습니까?'
|
this.row.msg1 = '삭제 하시겠습니까?'
|
||||||
this.$refs.commmonModal.confirmModalOpen2(this.row);
|
this.$refs.commmonModal.confirmModalOpen2(this.row);
|
||||||
},
|
},
|
||||||
async deleteAuth(){
|
async deleteAuth() {
|
||||||
//console.log("삭제처리:"+target);
|
//console.log("삭제처리:"+target);
|
||||||
//this.row.authCd = target;
|
//this.row.authCd = target;
|
||||||
try {
|
try {
|
||||||
@@ -141,21 +124,21 @@ export default {
|
|||||||
this.getAuthList();
|
this.getAuthList();
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
this.row={}
|
this.row = {}
|
||||||
this.row.title = '권한 관리';
|
this.row.title = '권한 관리';
|
||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
}
|
}
|
||||||
} catch(err) {
|
} catch (err) {
|
||||||
this.row={}
|
this.row = {}
|
||||||
this.row.title = '권한 관리';
|
this.row.title = '권한 관리';
|
||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
confirmCalbackFnc(props){
|
confirmCalbackFnc(props) {
|
||||||
console.log(props)
|
console.log(props)
|
||||||
if(props.result){
|
if (props.result) {
|
||||||
this.deleteAuth();
|
this.deleteAuth();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
<div class="title">권한 수정</div>
|
<div class="title">권한 수정</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="table table_form">
|
<div class="table table_form">
|
||||||
<form autocomplete="off">
|
|
||||||
<table>
|
<table>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr class="tr_input w30">
|
<tr class="tr_input w30">
|
||||||
@@ -50,19 +49,9 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="check">
|
<td class="check">
|
||||||
<p>유치현황관리</p>
|
<p>유치현황관리</p>
|
||||||
<!-- <input type="checkbox" id="right_check2" value="2002" v-model="checkedAuthMenu">
|
|
||||||
<div class="label_group">
|
|
||||||
<label for="right_check2"></label>
|
|
||||||
<label for="right_check2">유치채널 현황</label>
|
|
||||||
</div>
|
|
||||||
<input type="checkbox" id="right_check3" value="2003" v-model="checkedAuthMenu">
|
|
||||||
<div class="label_group">
|
|
||||||
<label for="right_check3"></label>
|
|
||||||
<label for="right_check3">유치관리자 현황</label>
|
|
||||||
</div> -->
|
|
||||||
<div class="label_group">
|
<div class="label_group">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="td_radio" >
|
<td class="td_radio">
|
||||||
<input type="radio" name="userStat" value="2002" id="channel_radio1" v-model="channelAuth">
|
<input type="radio" name="userStat" value="2002" id="channel_radio1" v-model="channelAuth">
|
||||||
<label for="channel_radio1">유치채널현황</label>
|
<label for="channel_radio1">유치채널현황</label>
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
@@ -181,7 +170,6 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="pop-btn2">
|
<div class="pop-btn2">
|
||||||
<button class="btn-default" type="button" @click="authModifyCancel()">취소</button>
|
<button class="btn-default" type="button" @click="authModifyCancel()">취소</button>
|
||||||
@@ -195,7 +183,7 @@
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
import sysMgtApi from "../service/sysMgtApi.js";
|
import sysMgtApi from "../service/sysMgtApi.js";
|
||||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||||
import commonModal from "../components/commonModal";
|
import commonModal from "../components/commonModal";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -209,13 +197,13 @@ export default {
|
|||||||
authCd: "",
|
authCd: "",
|
||||||
authDesc: "",
|
authDesc: "",
|
||||||
stat: "",
|
stat: "",
|
||||||
defaultAuthMenu:["2001","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019"],
|
defaultAuthMenu: ["2001", "2004", "2005", "2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013", "2014", "2015", "2016", "2017", "2018", "2019"],
|
||||||
checkedAuthMenu:[],
|
checkedAuthMenu: [],
|
||||||
channelAuth: "",
|
channelAuth: "",
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
targetAuthCd : {
|
targetAuthCd: {
|
||||||
type: String,
|
type: String,
|
||||||
default: "",
|
default: "",
|
||||||
}
|
}
|
||||||
@@ -223,7 +211,7 @@ export default {
|
|||||||
components: {
|
components: {
|
||||||
commonModal,
|
commonModal,
|
||||||
},
|
},
|
||||||
created(){
|
created() {
|
||||||
//this.setCodeData();
|
//this.setCodeData();
|
||||||
this.authDetail();
|
this.authDetail();
|
||||||
},
|
},
|
||||||
@@ -234,10 +222,10 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
doValidate(){
|
doValidate() {
|
||||||
|
|
||||||
// 필수 등록정보 체크
|
// 필수 등록정보 체크
|
||||||
if(this.isNull(this.authNm)){
|
if (this.isNull(this.authNm)) {
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
this.row.msg1 = '권한명을 입력해 주세요.';
|
this.row.msg1 = '권한명을 입력해 주세요.';
|
||||||
this.row.focusTaget = '1';
|
this.row.focusTaget = '1';
|
||||||
@@ -245,7 +233,7 @@ export default {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.isNull(this.authCd)){
|
if (this.isNull(this.authCd)) {
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
this.row.msg1 = '권한 코드를 입력해 주세요.';
|
this.row.msg1 = '권한 코드를 입력해 주세요.';
|
||||||
this.row.focusTaget = '2';
|
this.row.focusTaget = '2';
|
||||||
@@ -253,7 +241,7 @@ export default {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.authCd.length > 5){
|
if (this.authCd.length > 5) {
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
this.row.msg1 = '권한코드는 영문과 숫자포함 최대4자리까지 입력해주세요.';
|
this.row.msg1 = '권한코드는 영문과 숫자포함 최대4자리까지 입력해주세요.';
|
||||||
this.row.focusTaget = '2';
|
this.row.focusTaget = '2';
|
||||||
@@ -261,14 +249,14 @@ export default {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.isNull(this.stat)){
|
if (this.isNull(this.stat)) {
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
this.row.msg1 = '상태를 체크해 주세요.';
|
this.row.msg1 = '상태를 체크해 주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.checkedAuthMenu.length == 0){
|
if (this.checkedAuthMenu.length == 0) {
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
this.row.msg1 = '메뉴 권한 체크를 해주세요.';
|
this.row.msg1 = '메뉴 권한 체크를 해주세요.';
|
||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
@@ -281,10 +269,10 @@ export default {
|
|||||||
},
|
},
|
||||||
authModifyCancel() {
|
authModifyCancel() {
|
||||||
// 권한리스트 페이지로 이동
|
// 권한리스트 페이지로 이동
|
||||||
this.$router.push({ name: 'authList'});
|
this.$router.push({name: 'authList'});
|
||||||
|
|
||||||
},
|
},
|
||||||
async authDetail(){
|
async authDetail() {
|
||||||
//console.log(this.$route.params.targetAuthCd);
|
//console.log(this.$route.params.targetAuthCd);
|
||||||
this.row.authCd = this.$route.params.targetAuthCd;
|
this.row.authCd = this.$route.params.targetAuthCd;
|
||||||
try {
|
try {
|
||||||
@@ -301,9 +289,9 @@ export default {
|
|||||||
// 메뉴리스트 처리
|
// 메뉴리스트 처리
|
||||||
var dataList = result.data.list;
|
var dataList = result.data.list;
|
||||||
var rsArr = [];
|
var rsArr = [];
|
||||||
for(var i=0; i< dataList.length; i++){
|
for (var i = 0; i < dataList.length; i++) {
|
||||||
if(dataList[i].upperMenuNo != null || dataList[i].upperMenuNo != ""){
|
if (dataList[i].upperMenuNo != null || dataList[i].upperMenuNo != "") {
|
||||||
if(dataList[i].menuNo === '2002' || dataList[i].menuNo === '2003'){
|
if (dataList[i].menuNo === '2002' || dataList[i].menuNo === '2003') {
|
||||||
this.channelAuth = dataList[i].menuNo;
|
this.channelAuth = dataList[i].menuNo;
|
||||||
} else {
|
} else {
|
||||||
this.checkedAuthMenu.push(dataList[i].menuNo);
|
this.checkedAuthMenu.push(dataList[i].menuNo);
|
||||||
@@ -320,7 +308,7 @@ export default {
|
|||||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} catch(err) {
|
} catch (err) {
|
||||||
//alert("처리 실패 하였습니다.");
|
//alert("처리 실패 하였습니다.");
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
@@ -330,8 +318,8 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
authModifySave(){
|
authModifySave() {
|
||||||
if(this.doValidate()){
|
if (this.doValidate()) {
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
this.row.msg1 = '권한 수정 저장하시겠습니까?';
|
this.row.msg1 = '권한 수정 저장하시겠습니까?';
|
||||||
this.row.focusTaget = '0';
|
this.row.focusTaget = '0';
|
||||||
@@ -339,16 +327,16 @@ export default {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async authUpdate(){
|
async authUpdate() {
|
||||||
|
|
||||||
var reqAuthMenuArr = this.checkedAuthMenu;
|
var reqAuthMenuArr = this.checkedAuthMenu;
|
||||||
var listArr = [];
|
var listArr = [];
|
||||||
var dataMap = {};
|
var dataMap = {};
|
||||||
if(this.channelAuth !== ''){
|
if (this.channelAuth !== '') {
|
||||||
dataMap.menuNo = this.channelAuth;
|
dataMap.menuNo = this.channelAuth;
|
||||||
listArr.push(dataMap);
|
listArr.push(dataMap);
|
||||||
}
|
}
|
||||||
for(var i = 0; i< reqAuthMenuArr.length; i++){
|
for (var i = 0; i < reqAuthMenuArr.length; i++) {
|
||||||
dataMap = {};
|
dataMap = {};
|
||||||
dataMap.menuNo = reqAuthMenuArr[i];
|
dataMap.menuNo = reqAuthMenuArr[i];
|
||||||
listArr.push(dataMap);
|
listArr.push(dataMap);
|
||||||
@@ -368,7 +356,7 @@ export default {
|
|||||||
if (result != null && result.retCode == "0000") {
|
if (result != null && result.retCode == "0000") {
|
||||||
//alert('저장 하였습니다.');
|
//alert('저장 하였습니다.');
|
||||||
// 권한리스트 페이지 이동
|
// 권한리스트 페이지 이동
|
||||||
this.$router.push({ name: 'authList'});
|
this.$router.push({name: 'authList'});
|
||||||
} else {
|
} else {
|
||||||
//alert("실패 하였습니다.");
|
//alert("실패 하였습니다.");
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
@@ -378,7 +366,7 @@ export default {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch(err) {
|
} catch (err) {
|
||||||
//alert("실패 하였습니다.");
|
//alert("실패 하였습니다.");
|
||||||
this.row.title = '시스템관리';
|
this.row.title = '시스템관리';
|
||||||
this.row.msg1 = '실패 하였습니다.';
|
this.row.msg1 = '실패 하였습니다.';
|
||||||
@@ -388,30 +376,30 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
checkFocus(){
|
checkFocus() {
|
||||||
if(this.row.focusTaget === '1'){
|
if (this.row.focusTaget === '1') {
|
||||||
this.$refs._authNm.focus();
|
this.$refs._authNm.focus();
|
||||||
} else if(this.row.focusTaget === '2'){
|
} else if (this.row.focusTaget === '2') {
|
||||||
this.$refs._authCd.focus();
|
this.$refs._authCd.focus();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
confirmCalbackFnc(props){
|
confirmCalbackFnc(props) {
|
||||||
if(props.result){
|
if (props.result) {
|
||||||
this.authUpdate();
|
this.authUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
// 체크박스 전체선택 기능
|
// 체크박스 전체선택 기능
|
||||||
checkedAuthMenuAll : {
|
checkedAuthMenuAll: {
|
||||||
get: function () {
|
get: function () {
|
||||||
return this.defaultAuthMenu.length === this.checkedAuthMenu.length;
|
return this.defaultAuthMenu.length === this.checkedAuthMenu.length;
|
||||||
},
|
},
|
||||||
set: function (e) {
|
set: function (e) {
|
||||||
//this.checkedAuthMenu = e ? this.defaultAuthMenu : [];
|
//this.checkedAuthMenu = e ? this.defaultAuthMenu : [];
|
||||||
if(e){
|
if (e) {
|
||||||
this.checkedAuthMenu = this.defaultAuthMenu;
|
this.checkedAuthMenu = this.defaultAuthMenu;
|
||||||
if(this.channelAuth === ''){
|
if (this.channelAuth === '') {
|
||||||
this.channelAuth = '2002';
|
this.channelAuth = '2002';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ export default {
|
|||||||
name: "hubwebLayout",
|
name: "hubwebLayout",
|
||||||
components: {
|
components: {
|
||||||
NavBar,
|
NavBar,
|
||||||
// vuejsDatepicker,
|
|
||||||
HubWebHeader,
|
HubWebHeader,
|
||||||
HubWebFooter,
|
HubWebFooter,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -2,17 +2,18 @@ package kr.co.uplus.ez.api.attractMgt;
|
|||||||
|
|
||||||
import kr.co.uplus.ez.api.attractMgt.dto.*;
|
import kr.co.uplus.ez.api.attractMgt.dto.*;
|
||||||
import kr.co.uplus.ez.common.data.ApiResponseCode;
|
import kr.co.uplus.ez.common.data.ApiResponseCode;
|
||||||
import kr.co.uplus.ez.common.data.ApiResponseMessage;
|
import kr.co.uplus.ez.common.data.Const;
|
||||||
import kr.co.uplus.ez.common.data.Paging;
|
import kr.co.uplus.ez.common.data.Paging;
|
||||||
import org.mybatis.spring.SqlSessionTemplate;
|
import org.mybatis.spring.SqlSessionTemplate;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
import org.springframework.security.core.context.SecurityContextHolder;
|
||||||
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.thymeleaf.util.StringUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class AttractMgtService {
|
public class AttractMgtService {
|
||||||
@@ -32,10 +33,20 @@ public class AttractMgtService {
|
|||||||
* @param channelListReqDto
|
* @param channelListReqDto
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("rawtypes")
|
||||||
public ChannelListResDto channelList(ChannelListReqDto channelListReqDto) {
|
public ChannelListResDto channelList(ChannelListReqDto channelListReqDto) {
|
||||||
AttractMgtMapper attractMgtMapper = sqlSessionSlave.getMapper(AttractMgtMapper.class);
|
AttractMgtMapper attractMgtMapper = sqlSessionSlave.getMapper(AttractMgtMapper.class);
|
||||||
|
|
||||||
String nowPage = String.valueOf(channelListReqDto.getPage());
|
String nowPage = String.valueOf(channelListReqDto.getPage());
|
||||||
|
|
||||||
|
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
|
||||||
|
UserDetails userDetails = (UserDetails) principal;
|
||||||
|
String attrctorId = userDetails.getUsername();
|
||||||
|
ArrayList auth = (ArrayList) userDetails.getAuthorities();
|
||||||
|
|
||||||
|
if(StringUtils.equals(Const.AUTH_CD_AGENCY, auth.get(0).toString())){
|
||||||
|
channelListReqDto.setAttrctorId(attrctorId);
|
||||||
|
}
|
||||||
int totalCnt = attractMgtMapper.selectAttractListTotalCnt(channelListReqDto);
|
int totalCnt = attractMgtMapper.selectAttractListTotalCnt(channelListReqDto);
|
||||||
|
|
||||||
if (totalCnt == 0) {
|
if (totalCnt == 0) {
|
||||||
|
|||||||
@@ -9,27 +9,27 @@ import java.io.Serializable;
|
|||||||
@Data
|
@Data
|
||||||
public class ChannelDetail implements Serializable {
|
public class ChannelDetail implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(example = "날짜", name = "날짜", dataType = "String")
|
@ApiModelProperty(example = "20220101", name = "날짜", dataType = "String")
|
||||||
private String sumYm;
|
private String sumYm;
|
||||||
@ApiModelProperty(example = "전체발송건수", name = "전체발송건수", dataType = "String")
|
@ApiModelProperty(example = "100", name = "전체발송건수", dataType = "String")
|
||||||
private String sndCnt;
|
private String sndCnt;
|
||||||
@ApiModelProperty(example = "전체 성공건수", name = "전체 성공건수", dataType = "String")
|
@ApiModelProperty(example = "99", name = "전체 성공건수", dataType = "String")
|
||||||
private String succCnt;
|
private String succCnt;
|
||||||
@ApiModelProperty(example = "SMS발송건수", name = "SMS발송건수", dataType = "String")
|
@ApiModelProperty(example = "10", name = "SMS발송건수", dataType = "String")
|
||||||
private String sndCntS;
|
private String sndCntS;
|
||||||
@ApiModelProperty(example = "SMS 성공건수", name = "SMS 성공건수", dataType = "String")
|
@ApiModelProperty(example = "10", name = "SMS 성공건수", dataType = "String")
|
||||||
private String succCntS;
|
private String succCntS;
|
||||||
@ApiModelProperty(example = "LMS발송건수", name = "LMS발송건수", dataType = "String")
|
@ApiModelProperty(example = "10", name = "LMS발송건수", dataType = "String")
|
||||||
private String sndCntL;
|
private String sndCntL;
|
||||||
@ApiModelProperty(example = "LMS 성공건수", name = "LMS 성공건수", dataType = "String")
|
@ApiModelProperty(example = "10", name = "LMS 성공건수", dataType = "String")
|
||||||
private String succCntL;
|
private String succCntL;
|
||||||
@ApiModelProperty(example = "MMS발송건수", name = "MMS발송건수", dataType = "String")
|
@ApiModelProperty(example = "10", name = "MMS발송건수", dataType = "String")
|
||||||
private String sndCntM;
|
private String sndCntM;
|
||||||
@ApiModelProperty(example = "MMS 성공건수", name = "MMS 성공건수", dataType = "String")
|
@ApiModelProperty(example = "10", name = "MMS 성공건수", dataType = "String")
|
||||||
private String succCntM;
|
private String succCntM;
|
||||||
@ApiModelProperty(example = "알림톡발송건수", name = "알림톡발송건수", dataType = "String")
|
@ApiModelProperty(example = "10", name = "알림톡발송건수", dataType = "String")
|
||||||
private String sndCntA;
|
private String sndCntA;
|
||||||
@ApiModelProperty(example = "알림톡 성공건수", name = "알림톡 성공건수", dataType = "String")
|
@ApiModelProperty(example = "10", name = "알림톡 성공건수", dataType = "String")
|
||||||
private String succCntA;
|
private String succCntA;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import java.io.Serializable;
|
|||||||
@Data
|
@Data
|
||||||
public class ChannelDetailReqDto implements Serializable {
|
public class ChannelDetailReqDto implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(example = "사용자일련번호", name = "사용자일련번호", dataType = "String")
|
@ApiModelProperty(example = "1012001", name = "사용자일련번호", dataType = "String")
|
||||||
private String userSeq;
|
private String userSeq;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,48 +14,52 @@ public class ChannelDetailRes implements Serializable {
|
|||||||
private Paging paging;
|
private Paging paging;
|
||||||
private List<ChannelDetail> list;
|
private List<ChannelDetail> list;
|
||||||
|
|
||||||
@ApiModelProperty(example = "리스트번호", name = "리스트번호", dataType = "String")
|
@ApiModelProperty(example = "1", name = "리스트번호", dataType = "String")
|
||||||
private String no;
|
private String no;
|
||||||
@ApiModelProperty(example = "가입일", name = "가입일", dataType = "String")
|
@ApiModelProperty(example = "20220101", name = "가입일", dataType = "String")
|
||||||
private String subsDt;
|
private String subsDt;
|
||||||
@ApiModelProperty(example = "유치업체", name = "유치업체", dataType = "String")
|
@ApiModelProperty(example = "대리점", name = "유치업체", dataType = "String")
|
||||||
private String norgNm;
|
private String norgNm;
|
||||||
@ApiModelProperty(example = "사업장주소1", name = "사업장주소1", dataType = "String")
|
@ApiModelProperty(example = "서울시", name = "사업장주소1", dataType = "String")
|
||||||
private String adr1;
|
private String adr1;
|
||||||
@ApiModelProperty(example = "사업장주소2", name = "사업장주소2", dataType = "String")
|
@ApiModelProperty(example = "서초구", name = "사업장주소2", dataType = "String")
|
||||||
private String adr2;
|
private String adr2;
|
||||||
@ApiModelProperty(example = "사업장주소3", name = "사업장주소3", dataType = "String")
|
@ApiModelProperty(example = "1동", name = "사업장주소3", dataType = "String")
|
||||||
private String adr3;
|
private String adr3;
|
||||||
@ApiModelProperty(example = "사용자일련번호", name = "사용자일련번호", dataType = "String")
|
@ApiModelProperty(example = "10110201", name = "사용자일련번호", dataType = "String")
|
||||||
private String userSeq;
|
private String userSeq;
|
||||||
@ApiModelProperty(example = "마당ID(이름)", name = "마당ID(이름)", dataType = "String")
|
@ApiModelProperty(example = "test", name = "마당ID(이름)", dataType = "String")
|
||||||
private String loginId;
|
private String loginId;
|
||||||
@ApiModelProperty(example = "고객사명", name = "고객사명", dataType = "String")
|
@ApiModelProperty(example = "TEST", name = "고객사명", dataType = "String")
|
||||||
private String custNm;
|
private String custNm;
|
||||||
@ApiModelProperty(example = "대표자명", name = "대표자명", dataType = "String")
|
@ApiModelProperty(example = "홍길동", name = "대표자명", dataType = "String")
|
||||||
private String reprNm;
|
private String reprNm;
|
||||||
@ApiModelProperty(example = "사업자등록번호", name = "사업자등록번호", dataType = "String")
|
@ApiModelProperty(example = "1010120202", name = "사업자등록번호", dataType = "String")
|
||||||
private String bizrno;
|
private String bizrno;
|
||||||
@ApiModelProperty(example = "법인등록번호", name = "법인등록번호", dataType = "String")
|
@ApiModelProperty(example = "1234561234567", name = "법인등록번호", dataType = "String")
|
||||||
private String cprRegNo;
|
private String cprRegNo;
|
||||||
@ApiModelProperty(example = "이름", name = "이름" , dataType = "String")
|
@ApiModelProperty(example = "홍길동", name = "이름" , dataType = "String")
|
||||||
private String userNm;
|
private String userNm;
|
||||||
@ApiModelProperty(example = "상태", name = "상태", dataType = "String")
|
@ApiModelProperty(example = "청약", name = "상태", dataType = "String")
|
||||||
private String subsSttusCd;
|
private String subsSttusCd;
|
||||||
|
@ApiModelProperty(example = "법인사업자", name = "구분", dataType = "String")
|
||||||
|
private String subsSttusNm;
|
||||||
@ApiModelProperty(example = "구분", name = "구분", dataType = "String")
|
@ApiModelProperty(example = "구분", name = "구분", dataType = "String")
|
||||||
private String custTyCd;
|
private String custTyCd;
|
||||||
|
@ApiModelProperty(example = "LTE5만원", name = "청약요금제명", dataType = "String")
|
||||||
|
private String custTyNm;
|
||||||
@ApiModelProperty(example = "청약요금제명", name = "청약요금제명", dataType = "String")
|
@ApiModelProperty(example = "청약요금제명", name = "청약요금제명", dataType = "String")
|
||||||
private String plan;
|
private String plan;
|
||||||
@ApiModelProperty(example = "전체발송건수", name = "전체발송건수", dataType = "String")
|
@ApiModelProperty(example = "100", name = "전체발송건수", dataType = "String")
|
||||||
private String sndCnt;
|
private String sndCnt;
|
||||||
@ApiModelProperty(example = "관리자ID", name = "관리자ID", dataType = "String")
|
@ApiModelProperty(example = "adminTest", name = "관리자ID", dataType = "String")
|
||||||
private String adminId;
|
private String adminId;
|
||||||
@ApiModelProperty(example = "관리자명", name = "관리자명", dataType = "String")
|
@ApiModelProperty(example = "어드민", name = "관리자명", dataType = "String")
|
||||||
private String adminNm;
|
private String adminNm;
|
||||||
@ApiModelProperty(example = "유치자ID", name = "유치자ID", dataType = "String")
|
@ApiModelProperty(example = "admin", name = "유치자ID", dataType = "String")
|
||||||
private String channelId;
|
private String channelId;
|
||||||
@ApiModelProperty(example = "유치자명", name = "유치자명", dataType = "String")
|
@ApiModelProperty(example = "관리자", name = "유치자명", dataType = "String")
|
||||||
private String channelNm;
|
private String channelNm;
|
||||||
@ApiModelProperty(example = "USER ID", name = "USER ID", dataType = "String", hidden = true)
|
@ApiModelProperty(example = "test", name = "USER ID", dataType = "String", hidden = true)
|
||||||
private String userId;
|
private String userId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,26 +9,30 @@ import java.io.Serializable;
|
|||||||
@Data
|
@Data
|
||||||
public class ChannelInfo implements Serializable {
|
public class ChannelInfo implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(example = "리스트번호", name = "리스트번호", dataType = "Integer")
|
@ApiModelProperty(example = "1", name = "리스트번호", dataType = "Integer")
|
||||||
private Integer no;
|
private Integer no;
|
||||||
@ApiModelProperty(example = "가입일", name = "가입일", dataType = "String")
|
@ApiModelProperty(example = "20220101", name = "가입일", dataType = "String")
|
||||||
private String subsDt;
|
private String subsDt;
|
||||||
@ApiModelProperty(example = "유치업체", name = "유치업체", dataType = "String")
|
@ApiModelProperty(example = "대리점", name = "유치업체", dataType = "String")
|
||||||
private String norgNm;
|
private String norgNm;
|
||||||
@ApiModelProperty(example = "사용자일련번호", name = "사용자일련번호", dataType = "String")
|
@ApiModelProperty(example = "10122112", name = "사용자일련번호", dataType = "String")
|
||||||
private String userSeq;
|
private String userSeq;
|
||||||
@ApiModelProperty(example = "마당ID(이름)", name = "마당ID(이름)", dataType = "String")
|
@ApiModelProperty(example = "madang01", name = "마당ID", dataType = "String")
|
||||||
private String loginId;
|
private String loginId;
|
||||||
@ApiModelProperty(example = "고객사명", name = "고객사명", dataType = "String")
|
@ApiModelProperty(example = "홍길동", name = "고객사명", dataType = "String")
|
||||||
private String custNm;
|
private String custNm;
|
||||||
@ApiModelProperty(example = "사업자등록번호", name = "사업자등록번호", dataType = "String")
|
@ApiModelProperty(example = "1234512345", name = "사업자등록번호", dataType = "String")
|
||||||
private String bizrno;
|
private String bizrno;
|
||||||
@ApiModelProperty(example = "이름", name = "이름" , dataType = "String")
|
@ApiModelProperty(example = "홍길동", name = "이름" , dataType = "String")
|
||||||
private String userNm;
|
private String userNm;
|
||||||
@ApiModelProperty(example = "상태", name = "상태", dataType = "String")
|
@ApiModelProperty(example = "01", name = "상태", dataType = "String")
|
||||||
private String subsSttusCd;
|
private String subsSttusCd;
|
||||||
@ApiModelProperty(example = "구분", name = "구분", dataType = "String")
|
@ApiModelProperty(example = "청약", name = "상태명", dataType = "String")
|
||||||
|
private String subsSttusNm;
|
||||||
|
@ApiModelProperty(example = "01", name = "고객구분", dataType = "String")
|
||||||
private String custTyCd;
|
private String custTyCd;
|
||||||
@ApiModelProperty(example = "전체발송건수", name = "전체발송건수", dataType = "String")
|
@ApiModelProperty(example = "법인", name = "고객구분명", dataType = "String")
|
||||||
|
private String custTyNm;
|
||||||
|
@ApiModelProperty(example = "100", name = "전체발송건수", dataType = "String")
|
||||||
private String sndCnt;
|
private String sndCnt;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,22 +9,22 @@ import java.io.Serializable;
|
|||||||
@Data
|
@Data
|
||||||
public class ChannelListExcelReqDto implements Serializable {
|
public class ChannelListExcelReqDto implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(example = "사용상태", name = "사용상태", notes = "항목 : 전체(Default)/사용 : Y/중지 : N", dataType = "String")
|
@ApiModelProperty(example = "Y", name = "사용상태", notes = "항목 : 전체(Default)/사용 : Y/중지 : N", dataType = "String")
|
||||||
private String searchType;
|
private String searchType;
|
||||||
@ApiModelProperty(example = "검색조건", name = "검색조건", notes = "항목 : 고객사명 : custNm / 사업자번호 : bizNo / 인증코드 : authCd", dataType = "String")
|
@ApiModelProperty(example = "custNm", name = "검색조건", notes = "항목 : 고객사명 : custNm / 사업자번호 : bizNo / 인증코드 : authCd", dataType = "String")
|
||||||
private String searchType1;
|
private String searchType1;
|
||||||
@ApiModelProperty(example = "검색어(입력)", name = "검색어(입력)", dataType = "String")
|
@ApiModelProperty(example = "임시회사", name = "검색어(입력)", dataType = "String")
|
||||||
private String searchText;
|
private String searchText;
|
||||||
@ApiModelProperty(example = "조회 시작 날짜", name = "조회 시작 날짜", notes = "YYYYMMDD", dataType = "String")
|
@ApiModelProperty(example = "20220101", name = "조회 시작 날짜", notes = "YYYYMMDD", dataType = "String")
|
||||||
private String subsStDt;
|
private String subsStDt;
|
||||||
@ApiModelProperty(example = "조회 종료 날짜", name = "조회 종료 날짜", notes = "YYYYMMDD", dataType = "String")
|
@ApiModelProperty(example = "20220131", name = "조회 종료 날짜", notes = "YYYYMMDD", dataType = "String")
|
||||||
private String subsEdDt;
|
private String subsEdDt;
|
||||||
@ApiModelProperty(example = "조회 시작 날짜", name = "조회 시작 날짜", notes = "YYYYMMDD", dataType = "String")
|
@ApiModelProperty(example = "01", name = "청약상태", dataType = "String")
|
||||||
private String subsSttusCd;
|
private String subsSttusCd;
|
||||||
@ApiModelProperty(example = "조회 종료 날짜", name = "조회 종료 날짜", notes = "YYYYMMDD", dataType = "String")
|
@ApiModelProperty(example = "test", name = "로그인아이디", dataType = "String")
|
||||||
private String loginId;
|
private String loginId;
|
||||||
@ApiModelProperty(example = "조회 종료 날짜", name = "조회 종료 날짜", notes = "YYYYMMDD", dataType = "String")
|
@ApiModelProperty(example = "유치", name = "유치채널", dataType = "String")
|
||||||
private String norgNm;
|
private String norgNm;
|
||||||
@ApiModelProperty(example = "조회 종료 날짜", name = "조회 종료 날짜", notes = "YYYYMMDD", dataType = "String")
|
@ApiModelProperty(example = "01", name = "고객유형", dataType = "String")
|
||||||
private String custTyCd;
|
private String custTyCd;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,26 +9,29 @@ import java.io.Serializable;
|
|||||||
@Data
|
@Data
|
||||||
public class ChannelListReqDto implements Serializable {
|
public class ChannelListReqDto implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(example = "검색시작일", name = "검색시작일", dataType = "String")
|
@ApiModelProperty(example = "20220101", name = "검색시작일", dataType = "String")
|
||||||
private String subsStDt;
|
private String subsStDt;
|
||||||
@ApiModelProperty(example = "검색종료일", name = "검색종료일", dataType = "String")
|
@ApiModelProperty(example = "20220131", name = "검색종료일", dataType = "String")
|
||||||
private String subsEdDt;
|
private String subsEdDt;
|
||||||
@ApiModelProperty(example = "상태", name = "상태", dataType = "String")
|
@ApiModelProperty(example = "01", name = "상태", dataType = "String")
|
||||||
private String subsSttusCd;
|
private String subsSttusCd;
|
||||||
@ApiModelProperty(example = "회원구분", name = "회원구분", dataType = "String")
|
@ApiModelProperty(example = "01", name = "회원구분", dataType = "String")
|
||||||
private String custTyCd;
|
private String custTyCd;
|
||||||
@ApiModelProperty(example = "유치자ID", name = "유치자ID", dataType = "String")
|
@ApiModelProperty(example = "test", name = "유치자ID", dataType = "String")
|
||||||
private String loginId;
|
private String loginId;
|
||||||
@ApiModelProperty(example = "전체발송건수", name = "전체발송건수", dataType = "String")
|
@ApiModelProperty(example = "10", name = "전체발송건수", dataType = "String")
|
||||||
private String sndCnt;
|
private String sndCnt;
|
||||||
@ApiModelProperty(example = "유치업체", name = "유치업체", dataType = "String")
|
@ApiModelProperty(example = "유치", name = "유치업체", dataType = "String")
|
||||||
private String norgNm;
|
private String norgNm;
|
||||||
@ApiModelProperty(example = "상세검색조건", name = "상세검색조건", dataType = "String")
|
@ApiModelProperty(example = "01", name = "상세검색조건", dataType = "String")
|
||||||
private String searchType;
|
private String searchType;
|
||||||
@ApiModelProperty(example = "검색어", name = "검색어", dataType = "String")
|
@ApiModelProperty(example = "홍길동", name = "검색어", dataType = "String")
|
||||||
private String searchText;
|
private String searchText;
|
||||||
@ApiModelProperty(example = "페이지당 조회할 목록 수", name = "페이지당 조회할 목록 수", dataType = "String")
|
@ApiModelProperty(example = "50", name = "페이지당 조회할 목록 수", dataType = "String")
|
||||||
private int pagePerRows;
|
private int pagePerRows;
|
||||||
@ApiModelProperty(example = "현재 페이지", name = "현재 페이지", dataType = "String")
|
@ApiModelProperty(example = "1", name = "현재 페이지", dataType = "String")
|
||||||
private int page;
|
private int page;
|
||||||
|
@ApiModelProperty(name = "유치자ID", dataType = "String", hidden = true)
|
||||||
|
private String attrctorId;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,45 +1,45 @@
|
|||||||
package kr.co.uplus.ez.api.calculate.dto;
|
package kr.co.uplus.ez.api.calculate.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class CalcList implements Serializable {
|
public class CalcList implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(example = "날짜", name = "날짜", dataType = "String")
|
@ApiModelProperty(example = "202201", name = "날짜", dataType = "String")
|
||||||
private String useYm;
|
private String useYm;
|
||||||
@ApiModelProperty(example = "고객사명(이름)", name = "고객사명", dataType = "String")
|
@ApiModelProperty(example = "홍길동", name = "고객사명", dataType = "String")
|
||||||
private String custNm;
|
private String custNm;
|
||||||
@ApiModelProperty(example = "사업자번호(생년월일)", name = "사업자번호", dataType = "String")
|
@ApiModelProperty(example = "1234512345", name = "사업자번호", dataType = "String")
|
||||||
private String bizrno;
|
private String bizrno;
|
||||||
@ApiModelProperty(example = "요금제", name = "요금제", dataType = "String")
|
@ApiModelProperty(example = "LTE5만원", name = "요금제", dataType = "String")
|
||||||
private String prodNm;
|
private String prodNm;
|
||||||
@ApiModelProperty(example = "요금액", name = "요금액", dataType = "String")
|
@ApiModelProperty(example = "10000", name = "요금액", dataType = "String")
|
||||||
private String prodAmt;
|
private String prodAmt;
|
||||||
@ApiModelProperty(example = "시작금액", name = "시작금액", dataType = "String")
|
@ApiModelProperty(example = "10000", name = "시작금액", dataType = "String")
|
||||||
private String startAmt;
|
private String startAmt;
|
||||||
@ApiModelProperty(example = "사용금액", name = "사용금액", dataType = "String")
|
@ApiModelProperty(example = "10000", name = "사용금액", dataType = "String")
|
||||||
private String useAmt;
|
private String useAmt;
|
||||||
@ApiModelProperty(example = "이월금액", name = "이월금액", dataType = "String")
|
@ApiModelProperty(example = "10000", name = "이월금액", dataType = "String")
|
||||||
private String cfwdAmt;
|
private String cfwdAmt;
|
||||||
@ApiModelProperty(example = "종량금액", name = "종량금액", dataType = "String")
|
@ApiModelProperty(example = "10000", name = "종량금액", dataType = "String")
|
||||||
private String mrtUseAmt;
|
private String mrtUseAmt;
|
||||||
@ApiModelProperty(example = "소멸금액", name = "소멸금액", dataType = "String")
|
@ApiModelProperty(example = "1000", name = "소멸금액", dataType = "String")
|
||||||
private String extncAmt;
|
private String extncAmt;
|
||||||
@ApiModelProperty(example = "청구금액", name = "청구금액", dataType = "String")
|
@ApiModelProperty(example = "10000", name = "청구금액", dataType = "String")
|
||||||
private String billingAmt;
|
private String billingAmt;
|
||||||
@ApiModelProperty(example = "전체 발송건수", name = "전체 발송건수", dataType = "String")
|
@ApiModelProperty(example = "100", name = "전체 발송건수", dataType = "String")
|
||||||
private String totalSndCnt;
|
private String totalSndCnt;
|
||||||
@ApiModelProperty(example = "SMS 발송건수", name = "SMS 발송건수", dataType = "String")
|
@ApiModelProperty(example = "100", name = "SMS 발송건수", dataType = "String")
|
||||||
private String smsSndCnt;
|
private String smsSndCnt;
|
||||||
@ApiModelProperty(example = "LMS 발송건수", name = "LMS 발송건수", dataType = "String")
|
@ApiModelProperty(example = "100", name = "LMS 발송건수", dataType = "String")
|
||||||
private String lmsSndCnt;
|
private String lmsSndCnt;
|
||||||
@ApiModelProperty(example = "MMS 발송건수", name = "MMS 발송건수", dataType = "String")
|
@ApiModelProperty(example = "100", name = "MMS 발송건수", dataType = "String")
|
||||||
private String mmsSndCnt;
|
private String mmsSndCnt;
|
||||||
@ApiModelProperty(example = "알림톡 발송건수", name = "알림톡 발송건수", dataType = "String")
|
@ApiModelProperty(example = "100", name = "알림톡 발송건수", dataType = "String")
|
||||||
private String atlkSndCnt;
|
private String atlkSndCnt;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,17 +11,17 @@ import java.io.Serializable;
|
|||||||
public class CalcListExcelReqDto implements Serializable {
|
public class CalcListExcelReqDto implements Serializable {
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@ApiModelProperty(example = "검색시작월", name = "검색시작월",dataType = "String")
|
@ApiModelProperty(example = "202201", name = "검색시작월",dataType = "String")
|
||||||
private String startMonth;
|
private String startMonth;
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@ApiModelProperty(example = "검색종료월", name = "검색종료월",dataType = "String")
|
@ApiModelProperty(example = "202203", name = "검색종료월",dataType = "String")
|
||||||
private String endMonth;
|
private String endMonth;
|
||||||
|
|
||||||
@ApiModelProperty(example = "고객사명", name = "고객사명", dataType = "String")
|
@ApiModelProperty(example = "홍길동", name = "고객사명", dataType = "String")
|
||||||
private String custNm;
|
private String custNm;
|
||||||
|
|
||||||
@ApiModelProperty(example = "사업자번호", name = "사업자번호", dataType = "String")
|
@ApiModelProperty(example = "1234512345", name = "사업자번호", dataType = "String")
|
||||||
private String bizrno;
|
private String bizrno;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,36 +1,35 @@
|
|||||||
package kr.co.uplus.ez.api.calculate.dto;
|
package kr.co.uplus.ez.api.calculate.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class CalcListReqDto implements Serializable {
|
public class CalcListReqDto implements Serializable {
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@ApiModelProperty(example = "페이지당 조회할 목록 수", name = "페이지당 조회할 목록 수", dataType = "String")
|
@ApiModelProperty(example = "50", name = "페이지당 조회할 목록 수", dataType = "String")
|
||||||
private int pagePerRows;
|
private int pagePerRows;
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@ApiModelProperty(example = "현재 페이지", name = "현재 페이지", dataType = "int")
|
@ApiModelProperty(example = "1", name = "현재 페이지", dataType = "int")
|
||||||
private int page;
|
private int page;
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@ApiModelProperty(example = "검색시작월", name = "검색시작월",dataType = "String")
|
@ApiModelProperty(example = "202201", name = "검색시작월",dataType = "String")
|
||||||
private String startMonth;
|
private String startMonth;
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@ApiModelProperty(example = "검색종료월", name = "검색종료월",dataType = "String")
|
@ApiModelProperty(example = "202203", name = "검색종료월",dataType = "String")
|
||||||
private String endMonth;
|
private String endMonth;
|
||||||
|
|
||||||
@ApiModelProperty(example = "고객사명", name = "고객사명", dataType = "String")
|
@ApiModelProperty(example = "홍길동", name = "고객사명", dataType = "String")
|
||||||
private String custNm;
|
private String custNm;
|
||||||
|
|
||||||
@ApiModelProperty(example = "사업자번호", name = "사업자번호", dataType = "String")
|
@ApiModelProperty(example = "1234512345", name = "사업자번호", dataType = "String")
|
||||||
private String bizrno;
|
private String bizrno;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
package kr.co.uplus.ez.api.channelMgt;
|
package kr.co.uplus.ez.api.channelMgt;
|
||||||
|
|
||||||
import java.util.List;
|
import kr.co.uplus.ez.api.channelMgt.dto.TmpltInfo;
|
||||||
|
|
||||||
import kr.co.uplus.ez.api.channelMgt.dto.TmpltListExcelReqDto;
|
import kr.co.uplus.ez.api.channelMgt.dto.TmpltListExcelReqDto;
|
||||||
|
import kr.co.uplus.ez.api.channelMgt.dto.TmpltListReqDto;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
import kr.co.uplus.ez.api.channelMgt.dto.TmpltInfo;
|
import java.util.List;
|
||||||
import kr.co.uplus.ez.api.channelMgt.dto.TmpltListReqDto;
|
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface ChannelMgtMapper {
|
public interface ChannelMgtMapper {
|
||||||
@@ -17,5 +16,7 @@ public interface ChannelMgtMapper {
|
|||||||
|
|
||||||
List<TmpltInfo> selectTmpltListExcel(TmpltListExcelReqDto tmpltListExcelReqDto);
|
List<TmpltInfo> selectTmpltListExcel(TmpltListExcelReqDto tmpltListExcelReqDto);
|
||||||
|
|
||||||
String selectChannelAuthMenuNo(String targetUserId);
|
default String selectChannelAuthMenuNo(String targetUserId) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,24 +9,24 @@ import java.io.Serializable;
|
|||||||
@Data
|
@Data
|
||||||
public class TmpltInfo implements Serializable {
|
public class TmpltInfo implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(example = "리스트번호", name = "리스트번호", dataType = "Integer")
|
@ApiModelProperty(example = "1", name = "리스트번호", dataType = "Integer")
|
||||||
private Integer no;
|
private Integer no;
|
||||||
@ApiModelProperty(example = "고객사명(이름)", name = "고객사명(이름)", dataType = "String")
|
@ApiModelProperty(example = "홍길동", name = "고객사명", dataType = "String")
|
||||||
private String custNm;
|
private String custNm;
|
||||||
@ApiModelProperty(example = "사업자번호(생년월일)", name = "사업자번호(생년월일)", dataType = "String")
|
@ApiModelProperty(example = "1234512345", name = "사업자번호", dataType = "String")
|
||||||
private String bRegNo;
|
private String bRegNo;
|
||||||
@ApiModelProperty(example = "템플릿 코드", name = "템플릿 코드", dataType = "String")
|
@ApiModelProperty(example = "01", name = "템플릿 코드", dataType = "String")
|
||||||
private String tmpltCd;
|
private String tmpltCd;
|
||||||
@ApiModelProperty(example = "템플릿명", name = "템플릿명", dataType = "String")
|
@ApiModelProperty(example = "테스트", name = "템플릿명", dataType = "String")
|
||||||
private String tmpltNm;
|
private String tmpltNm;
|
||||||
@ApiModelProperty(example = "템플릿 유형", name = "템플릿 유형", notes = "항목 : (01: 기본형(Default), 02:부가정보형, 03:광고추가형, 04:복합형)", dataType = "String")
|
@ApiModelProperty(example = "01", name = "템플릿 유형", notes = "항목 : (01: 기본형(Default), 02:부가정보형, 03:광고추가형, 04:복합형)", dataType = "String")
|
||||||
private String tmpltType;
|
private String tmpltType;
|
||||||
@ApiModelProperty(example = "상태", name = "상태" , notes = "항목 : (T:신청완료, R:검수요청완료, Q:카카오 검수중, A:템플릿승인, S:반려)" , dataType = "String")
|
@ApiModelProperty(example = "T", name = "상태" , notes = "항목 : (T:신청완료, R:검수요청완료, Q:카카오 검수중, A:템플릿승인, S:반려)" , dataType = "String")
|
||||||
private String stat;
|
private String stat;
|
||||||
@ApiModelProperty(example = "반려사유", name = "반려사유", dataType = "String")
|
@ApiModelProperty(example = "01", name = "반려사유", dataType = "String")
|
||||||
private String returnReason;
|
private String returnReason;
|
||||||
@ApiModelProperty(example = "발신프로필", name = "발신프로필", dataType = "String")
|
@ApiModelProperty(example = "1230123023", name = "발신프로필", dataType = "String")
|
||||||
private String sendProfile;
|
private String sendProfile;
|
||||||
@ApiModelProperty(example = "최종수정일자", name = "최종수정일자", dataType = "String")
|
@ApiModelProperty(example = "20220320", name = "최종수정일자", dataType = "String")
|
||||||
private String lastChgDt;
|
private String lastChgDt;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,21 +3,21 @@ package kr.co.uplus.ez.api.channelMgt.dto;
|
|||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class TmpltListExcelReqDto implements Serializable {
|
public class TmpltListExcelReqDto implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(example = "사용상태", name = "사용상태", notes = "항목 : 전체(Default)/사용 : Y/중지 : N", dataType = "String")
|
@ApiModelProperty(example = "Y", name = "사용상태", notes = "항목 : 전체(Default)/사용 : Y/중지 : N", dataType = "String")
|
||||||
private String searchType1;
|
private String searchType1;
|
||||||
@ApiModelProperty(example = "검색조건", name = "검색조건", notes = "항목 : 고객사명 : custNm / 사업자번호 : bizNo / 인증코드 : authCd", dataType = "String")
|
@ApiModelProperty(example = "custNm", name = "검색조건", notes = "항목 : 고객사명 : custNm / 사업자번호 : bizNo / 인증코드 : authCd", dataType = "String")
|
||||||
private String searchType2;
|
private String searchType2;
|
||||||
@ApiModelProperty(example = "검색어(입력)", name = "검색어(입력)", dataType = "String")
|
@ApiModelProperty(example = "홍길동", name = "검색어(입력)", dataType = "String")
|
||||||
private String searchText1;
|
private String searchText1;
|
||||||
|
@ApiModelProperty(example = "1122", name = "채널메뉴번호", dataType = "String")
|
||||||
private String channelAuthMenuNo;
|
private String channelAuthMenuNo;
|
||||||
|
@ApiModelProperty(example = "test", name = "사용자아이디", dataType = "String")
|
||||||
private String userId;
|
private String userId;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,31 +1,31 @@
|
|||||||
package kr.co.uplus.ez.api.channelMgt.dto;
|
package kr.co.uplus.ez.api.channelMgt.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class TmpltListReqDto implements Serializable {
|
public class TmpltListReqDto implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(example = "사용상태", name = "사용상태", notes = "항목 : 전체(Default)/사용 : Y/중지 : N", dataType = "String")
|
@ApiModelProperty(example = "Y", name = "사용상태", notes = "항목 : 전체(Default)/사용 : Y/중지 : N", dataType = "String")
|
||||||
private String searchType1;
|
private String searchType1;
|
||||||
@ApiModelProperty(example = "검색조건", name = "검색조건", notes = "항목 : 고객사명 : custNm / 사업자번호 : bizNo / 인증코드 : authCd", dataType = "String")
|
@ApiModelProperty(example = "custNm", name = "검색조건", notes = "항목 : 고객사명 : custNm / 사업자번호 : bizNo / 인증코드 : authCd", dataType = "String")
|
||||||
private String searchType2;
|
private String searchType2;
|
||||||
@ApiModelProperty(example = "검색어(입력)", name = "검색어(입력)", dataType = "String")
|
@ApiModelProperty(example = "홍길동", name = "검색어(입력)", dataType = "String")
|
||||||
private String searchText1;
|
private String searchText1;
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@ApiModelProperty(example = "페이지당 조회할 목록 수",notes = "페이지당 조회할 목록 수", name = "페이지당 조회할 목록 수", dataType = "int")
|
@ApiModelProperty(example = "50",notes = "페이지당 조회할 목록 수", name = "페이지당 조회할 목록 수", dataType = "int")
|
||||||
private int pagePerRows;
|
private int pagePerRows;
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@ApiModelProperty(example = "현재 페이지", name = "현재 페이지", dataType = "int")
|
@ApiModelProperty(example = "1", name = "현재 페이지", dataType = "int")
|
||||||
private int page;
|
private int page;
|
||||||
|
@ApiModelProperty(example = "1", name = "채널메뉴번호", dataType = "int")
|
||||||
private String channelAuthMenuNo;
|
private String channelAuthMenuNo;
|
||||||
|
@ApiModelProperty(example = "test", name = "사용자아이디", dataType = "int")
|
||||||
private String userId;
|
private String userId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,18 @@
|
|||||||
package kr.co.uplus.ez.api.comm.dto;
|
package kr.co.uplus.ez.api.comm.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class Auth implements Serializable{
|
public class Auth implements Serializable{
|
||||||
|
|
||||||
|
@ApiModelProperty(example = "1001", name = "권한코드", dataType = "int")
|
||||||
private String autCd;
|
private String autCd;
|
||||||
|
@ApiModelProperty(example = "어드민", name = "권한명", dataType = "int")
|
||||||
private String autNm;
|
private String autNm;
|
||||||
|
@ApiModelProperty(example = "N", name = "사용여부", dataType = "int")
|
||||||
private String useYn;
|
private String useYn;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
package kr.co.uplus.ez.api.comm.dto;
|
package kr.co.uplus.ez.api.comm.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class AuthRes implements Serializable {
|
public class AuthRes implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(name = "권한리스트", example = "권한리스트", dataType = "List<Auth>")
|
@ApiModelProperty(name = "권한리스트", dataType = "List<Auth>")
|
||||||
private List<Auth> list;
|
private List<Auth> list;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
package kr.co.uplus.ez.api.comm.dto;
|
package kr.co.uplus.ez.api.comm.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class Code implements Serializable {
|
public class Code implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(name = "그룹코드", example = "그룹코드", dataType = "String")
|
@ApiModelProperty(name = "그룹코드", example = "1001", dataType = "String")
|
||||||
private String grpCd;
|
private String grpCd;
|
||||||
@ApiModelProperty(name = "상세코드", example = "상세코드", dataType = "String")
|
@ApiModelProperty(name = "상세코드", example = "01", dataType = "String")
|
||||||
private String code;
|
private String code;
|
||||||
@ApiModelProperty(name = "상세코드명", example = "상세코드명", dataType = "String")
|
@ApiModelProperty(name = "상세코드명", example = "TEST", dataType = "String")
|
||||||
private String codeNm;
|
private String codeNm;
|
||||||
@ApiModelProperty(name = "정렬순서", example = "정렬순서", dataType = "Integer")
|
@ApiModelProperty(name = "정렬순서", example = "1", dataType = "Integer")
|
||||||
private Integer sortOrder;
|
private Integer sortOrder;
|
||||||
@ApiModelProperty(name = "사용여부", example = "사용여부", dataType = "String")
|
@ApiModelProperty(name = "사용여부", example = "Y", dataType = "String")
|
||||||
private String useYn;
|
private String useYn;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
package kr.co.uplus.ez.api.comm.dto;
|
package kr.co.uplus.ez.api.comm.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class CodeReqDto implements Serializable{
|
public class CodeReqDto implements Serializable{
|
||||||
|
|
||||||
@ApiModelProperty(example = "그룹코드", name = "그룹코드", dataType = "String")
|
@ApiModelProperty(example = "1001", name = "그룹코드", dataType = "String")
|
||||||
private String grpCd;
|
private String grpCd;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
package kr.co.uplus.ez.api.comm.dto;
|
package kr.co.uplus.ez.api.comm.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class CodeRes implements Serializable {
|
public class CodeRes implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(name = "코드리스트", example = "코드리스트", dataType = "List<Code>")
|
@ApiModelProperty(name = "코드리스트", dataType = "List<Code>")
|
||||||
private List<Code> list;
|
private List<Code> list;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,41 +1,41 @@
|
|||||||
package kr.co.uplus.ez.api.comm.dto;
|
package kr.co.uplus.ez.api.comm.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class Menu implements Serializable{
|
public class Menu implements Serializable{
|
||||||
|
|
||||||
@ApiModelProperty(name = "메뉴 번호", example = "메뉴 번호", dataType = "Integer")
|
@ApiModelProperty(name = "메뉴 번호", example = "1001", dataType = "Integer")
|
||||||
private Integer menuNo;
|
private Integer menuNo;
|
||||||
@ApiModelProperty(name = "부모 메뉴 번호", example = "부모 메뉴 번호", dataType = "Integer")
|
@ApiModelProperty(name = "부모 메뉴 번호", example = "1001", dataType = "Integer")
|
||||||
private Integer prntsMenuNo;
|
private Integer prntsMenuNo;
|
||||||
@ApiModelProperty(name = "메뉴 명", example = "메뉴 명")
|
@ApiModelProperty(name = "메뉴 명", example = "고객관리")
|
||||||
private String menuNm;
|
private String menuNm;
|
||||||
@ApiModelProperty(name = "메뉴 순서", example = "메뉴 순서", dataType = "Integer")
|
@ApiModelProperty(name = "메뉴 순서", example = "1", dataType = "Integer")
|
||||||
private Integer menuOdrg;
|
private Integer menuOdrg;
|
||||||
@ApiModelProperty(name = "사용 여부", example = "사용 여부")
|
@ApiModelProperty(name = "사용 여부", example = "Y")
|
||||||
private String useYn;
|
private String useYn;
|
||||||
@ApiModelProperty(name = "권한체크 그룹번호", example = "권한체크 그룹번호", dataType = "Integer")
|
@ApiModelProperty(name = "권한체크 그룹번호", example = "1001", dataType = "Integer")
|
||||||
private Integer autchkGrpno;
|
private Integer autchkGrpno;
|
||||||
@ApiModelProperty(name = "메뉴 레벨", example = "메뉴 레벨", dataType = "Integer")
|
@ApiModelProperty(name = "메뉴 레벨", example = "1", dataType = "Integer")
|
||||||
private Integer menuLvl;
|
private Integer menuLvl;
|
||||||
@ApiModelProperty(name = "메뉴 URL", example = "메뉴 URL")
|
@ApiModelProperty(name = "메뉴 URL", example = "/login")
|
||||||
private String menuUrl;
|
private String menuUrl;
|
||||||
@ApiModelProperty(name = "등록 ID", example = "등록 ID")
|
@ApiModelProperty(name = "등록 ID", example = "test")
|
||||||
private String regId;
|
private String regId;
|
||||||
@ApiModelProperty(name = "등록 일시", example = "등록 일시")
|
@ApiModelProperty(name = "등록 일시", example = "20110101")
|
||||||
private String regDt;
|
private String regDt;
|
||||||
@ApiModelProperty(name = "변경 ID", example = "변경 ID")
|
@ApiModelProperty(name = "변경 ID", example = "test")
|
||||||
private String chgId;
|
private String chgId;
|
||||||
@ApiModelProperty(name = "변경 일시", example = "변경 일시")
|
@ApiModelProperty(name = "변경 일시", example = "20110101")
|
||||||
private String chgDt;
|
private String chgDt;
|
||||||
@ApiModelProperty(name = "하위 메뉴 정보", example = "하위 메뉴 정보", dataType = "List<Menu>")
|
@ApiModelProperty(name = "하위 메뉴 정보", dataType = "List<Menu>")
|
||||||
private List<Menu> children = new ArrayList<>();
|
private List<Menu> children = new ArrayList<>();
|
||||||
|
|
||||||
public void addChild(Menu menu) {
|
public void addChild(Menu menu) {
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
package kr.co.uplus.ez.api.comm.dto;
|
package kr.co.uplus.ez.api.comm.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class RefreshToken implements Serializable{
|
public class RefreshToken implements Serializable{
|
||||||
|
|
||||||
@ApiModelProperty(name = "인증토큰", example = "인증토큰", dataType = "String")
|
@ApiModelProperty(name = "인증토큰", example = "adwd121dd", dataType = "String")
|
||||||
private String accessToken;
|
private String accessToken;
|
||||||
@ApiModelProperty(name = "토큰 만료시간", example = "토큰 만료시간", dataType = "String")
|
@ApiModelProperty(name = "토큰 만료시간", example = "1800", dataType = "String")
|
||||||
private String expireTime;
|
private String expireTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
package kr.co.uplus.ez.api.comm.dto;
|
package kr.co.uplus.ez.api.comm.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class RefreshTokenReqDto implements Serializable{
|
public class RefreshTokenReqDto implements Serializable{
|
||||||
|
|
||||||
@ApiModelProperty(example = "사용자 ID", name = "사용자 ID", dataType = "String")
|
@ApiModelProperty(example = "test", name = "사용자 ID", dataType = "String")
|
||||||
private String userId;
|
private String userId;
|
||||||
@ApiModelProperty(example = "Refresh 토큰", name = "Refresh 토큰", dataType = "String")
|
@ApiModelProperty(example = "dadw242rdwad2", name = "Refresh 토큰", dataType = "String")
|
||||||
private String refreshToken;
|
private String refreshToken;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -285,11 +285,17 @@ public class CustMgtController {
|
|||||||
})
|
})
|
||||||
@RequestMapping(value = "/insertTestId" , method = {RequestMethod.POST})
|
@RequestMapping(value = "/insertTestId" , method = {RequestMethod.POST})
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public InsertTestIdResDto insertTestId(@RequestBody @Valid InsertTestIdReqDto insertTestIdReqDto, BindingResult bindingResult) {
|
public InsertTestIdResDto insertTestId(@RequestBody @Valid InsertTestIdReqDto insertTestIdReqDto, BindingResult bindingResult){
|
||||||
if(validComponents.validParameter(bindingResult)) {
|
if(validComponents.validParameter(bindingResult)) {
|
||||||
return new InsertTestIdResDto(ApiResponseCode.CM_PARAMETER_ERROR);
|
return new InsertTestIdResDto(ApiResponseCode.CM_PARAMETER_ERROR);
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
return custService.insertTestId(insertTestIdReqDto);
|
return custService.insertTestId(insertTestIdReqDto);
|
||||||
|
}catch(Exception e) {
|
||||||
|
logger.info(e.toString());
|
||||||
|
return new InsertTestIdResDto(ApiResponseCode.CM_DB_QUERY_ERR);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -36,34 +37,54 @@ public class CustMgtService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private HubeasyApiComponents hubeasyApi;
|
private HubeasyApiComponents hubeasyApi;
|
||||||
|
|
||||||
/** 요금제. */
|
/**
|
||||||
|
* 요금제.
|
||||||
|
*/
|
||||||
@Value("${testId.prodCd}")
|
@Value("${testId.prodCd}")
|
||||||
private String prodCd;
|
private String prodCd;
|
||||||
/** 생년월일. */
|
/**
|
||||||
|
* 생년월일.
|
||||||
|
*/
|
||||||
@Value("${testId.rpsnBday}")
|
@Value("${testId.rpsnBday}")
|
||||||
private String rpsnBday;
|
private String rpsnBday;
|
||||||
/** 사업자번호. */
|
/**
|
||||||
|
* 사업자번호.
|
||||||
|
*/
|
||||||
@Value("${testId.brno}")
|
@Value("${testId.brno}")
|
||||||
private String brno;
|
private String brno;
|
||||||
/** 법인번호. */
|
/**
|
||||||
|
* 법인번호.
|
||||||
|
*/
|
||||||
@Value("${testId.cono}")
|
@Value("${testId.cono}")
|
||||||
private String cono;
|
private String cono;
|
||||||
/** 우편번호. */
|
/**
|
||||||
|
* 우편번호.
|
||||||
|
*/
|
||||||
@Value("${testId.zipCd}")
|
@Value("${testId.zipCd}")
|
||||||
private String zipCd;
|
private String zipCd;
|
||||||
/** 주소. */
|
/**
|
||||||
|
* 주소.
|
||||||
|
*/
|
||||||
@Value("${testId.badr}")
|
@Value("${testId.badr}")
|
||||||
private String badr;
|
private String badr;
|
||||||
/** 상세주소. */
|
/**
|
||||||
|
* 상세주소.
|
||||||
|
*/
|
||||||
@Value("${testId.dadr}")
|
@Value("${testId.dadr}")
|
||||||
private String dadr;
|
private String dadr;
|
||||||
/** 회사명. */
|
/**
|
||||||
|
* 회사명.
|
||||||
|
*/
|
||||||
@Value("${testId.cmpyNm}")
|
@Value("${testId.cmpyNm}")
|
||||||
private String cmpyNm;
|
private String cmpyNm;
|
||||||
/** 청구방법. */
|
/**
|
||||||
|
* 청구방법.
|
||||||
|
*/
|
||||||
@Value("${testId.paymMthd}")
|
@Value("${testId.paymMthd}")
|
||||||
private String paymMthd;
|
private String paymMthd;
|
||||||
/** 고객유형코드. */
|
/**
|
||||||
|
* 고객유형코드.
|
||||||
|
*/
|
||||||
@Value("${testId.custTyCd}")
|
@Value("${testId.custTyCd}")
|
||||||
private String custTyCd;
|
private String custTyCd;
|
||||||
|
|
||||||
@@ -217,6 +238,7 @@ public class CustMgtService {
|
|||||||
try {
|
try {
|
||||||
custMgtMapper.updateAdminInfo(subsDetail);
|
custMgtMapper.updateAdminInfo(subsDetail);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
logger.info(e.toString());
|
||||||
// TODO: handle exception
|
// TODO: handle exception
|
||||||
return new UpdateAdminInfoResDto(ApiResponseCode.CM_DB_QUERY_ERR);
|
return new UpdateAdminInfoResDto(ApiResponseCode.CM_DB_QUERY_ERR);
|
||||||
}
|
}
|
||||||
@@ -366,7 +388,8 @@ public class CustMgtService {
|
|||||||
* @param insertTestIdReqDto
|
* @param insertTestIdReqDto
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public InsertTestIdResDto insertTestId(InsertTestIdReqDto insertTestIdReqDto) {
|
@Transactional(value="db1TransactionManager")
|
||||||
|
public InsertTestIdResDto insertTestId(InsertTestIdReqDto insertTestIdReqDto){
|
||||||
|
|
||||||
CustMgtMapper custMgtMapper = sqlSessionMaster.getMapper(CustMgtMapper.class);
|
CustMgtMapper custMgtMapper = sqlSessionMaster.getMapper(CustMgtMapper.class);
|
||||||
|
|
||||||
@@ -427,7 +450,7 @@ public class CustMgtService {
|
|||||||
SubsInfo subsInfo = new SubsInfo();
|
SubsInfo subsInfo = new SubsInfo();
|
||||||
String subId = custMgtMapper.getSubId();
|
String subId = custMgtMapper.getSubId();
|
||||||
subsInfo.setSubsId(subId);
|
subsInfo.setSubsId(subId);
|
||||||
String entrNo =custMgtMapper.getEntrNo();
|
String entrNo = custMgtMapper.getEntrNo();
|
||||||
subsInfo.setEntrNo(entrNo);
|
subsInfo.setEntrNo(entrNo);
|
||||||
subsInfo.setUserSeq(userSeq);
|
subsInfo.setUserSeq(userSeq);
|
||||||
subsInfo.setCustSeq(custSeq);
|
subsInfo.setCustSeq(custSeq);
|
||||||
@@ -534,8 +557,8 @@ public class CustMgtService {
|
|||||||
*/
|
*/
|
||||||
public InsertUserResDto insertUser(InsertUserReqDto insertUserReqDto) {
|
public InsertUserResDto insertUser(InsertUserReqDto insertUserReqDto) {
|
||||||
CustMgtMapper custMgtMapper = sqlSessionMaster.getMapper(CustMgtMapper.class);
|
CustMgtMapper custMgtMapper = sqlSessionMaster.getMapper(CustMgtMapper.class);
|
||||||
Map<Object,Object> mailReqMap = new HashMap<Object,Object>();
|
Map<Object, Object> mailReqMap = new HashMap<Object, Object>();
|
||||||
Map<Object,Object> mailResultMap = new HashMap<Object,Object>();
|
Map<Object, Object> mailResultMap = new HashMap<Object, Object>();
|
||||||
|
|
||||||
// 임시패스워드 평문 생성
|
// 임시패스워드 평문 생성
|
||||||
String imsiPw = RandomStringUtils.randomAlphanumeric(10);
|
String imsiPw = RandomStringUtils.randomAlphanumeric(10);
|
||||||
@@ -545,7 +568,7 @@ public class CustMgtService {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
userCnt = custMgtMapper.getUserIdCount(userId);
|
userCnt = custMgtMapper.getUserIdCount(userId);
|
||||||
if(userCnt > 0) {
|
if (userCnt > 0) {
|
||||||
return new InsertUserResDto(ApiResponseCode.CE_DUPLICATE_ID);
|
return new InsertUserResDto(ApiResponseCode.CE_DUPLICATE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -581,9 +604,9 @@ public class CustMgtService {
|
|||||||
|
|
||||||
mailResultMap = hubeasyApi.sendTemplateMailApi(mailReqMap);
|
mailResultMap = hubeasyApi.sendTemplateMailApi(mailReqMap);
|
||||||
|
|
||||||
if(mailResultMap != null) {
|
if (mailResultMap != null) {
|
||||||
logger.debug("[Email Send API RESULT : {}]", mailResultMap.get("API_RSLT"));
|
logger.debug("[Email Send API RESULT : {}]", mailResultMap.get("API_RSLT"));
|
||||||
if("F".equals(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 API ERROR : {}]", mailResultMap.get("API_RSLT_MSG"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -722,9 +745,9 @@ public class CustMgtService {
|
|||||||
|
|
||||||
mailResultMap = hubeasyApi.sendTemplateMailApi(mailReqMap);
|
mailResultMap = hubeasyApi.sendTemplateMailApi(mailReqMap);
|
||||||
|
|
||||||
if(mailResultMap != null) {
|
if (mailResultMap != null) {
|
||||||
logger.debug("[Email Send API RESULT : {}]", mailResultMap.get("API_RSLT"));
|
logger.debug("[Email Send API RESULT : {}]", mailResultMap.get("API_RSLT"));
|
||||||
if("F".equals(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 API ERROR : {}]", mailResultMap.get("API_RSLT_MSG"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -795,6 +818,7 @@ public class CustMgtService {
|
|||||||
* date : 2022. 4. 25.
|
* date : 2022. 4. 25.
|
||||||
* auth : ckr
|
* auth : ckr
|
||||||
* desc : 관리자 정보(종합) 수정
|
* desc : 관리자 정보(종합) 수정
|
||||||
|
*
|
||||||
* @param updateAdminInfoTotalReqDto
|
* @param updateAdminInfoTotalReqDto
|
||||||
* @return UpdateAdminInfoTotalResDto
|
* @return UpdateAdminInfoTotalResDto
|
||||||
* @
|
* @
|
||||||
@@ -812,20 +836,20 @@ public class CustMgtService {
|
|||||||
custMgtMapper.insertMemo(updateAdminInfoTotalReqDto);
|
custMgtMapper.insertMemo(updateAdminInfoTotalReqDto);
|
||||||
|
|
||||||
// 3. 발송 한도 update
|
// 3. 발송 한도 update
|
||||||
if(updateAdminInfoTotalReqDto.getSendingLimit() != null) {
|
if (updateAdminInfoTotalReqDto.getSendingLimit() != null) {
|
||||||
BigDecimal sendingLimitAmt = new BigDecimal(StringUtils.remove(updateAdminInfoTotalReqDto.getSendingLimit(), ","));
|
BigDecimal sendingLimitAmt = new BigDecimal(StringUtils.remove(updateAdminInfoTotalReqDto.getSendingLimit(), ","));
|
||||||
|
|
||||||
paramMap.put("userId", updateAdminInfoTotalReqDto.getUserId());
|
paramMap.put("userId", updateAdminInfoTotalReqDto.getUserId());
|
||||||
// 3-1. 기존 정액한도금액 조회
|
// 3-1. 기존 정액한도금액 조회
|
||||||
rstAmtMap = custMgtMapper.selectAdminSendingLimt(paramMap);
|
rstAmtMap = custMgtMapper.selectAdminSendingLimt(paramMap);
|
||||||
if(rstAmtMap != null) {
|
if (rstAmtMap != null) {
|
||||||
String stFxLmtAmt = rstAmtMap.get("fxLmtAmt").toString();
|
String stFxLmtAmt = rstAmtMap.get("fxLmtAmt").toString();
|
||||||
BigDecimal fxLmtAmt = new BigDecimal(stFxLmtAmt);
|
BigDecimal fxLmtAmt = new BigDecimal(stFxLmtAmt);
|
||||||
|
|
||||||
BigDecimal targetMrtLmtAmt = new BigDecimal(0);
|
BigDecimal targetMrtLmtAmt = new BigDecimal(0);
|
||||||
|
|
||||||
// 변동요청발송한도금액이 기존정액한도금액보다 작으면 한도금액 변경 불가 실패처리
|
// 변동요청발송한도금액이 기존정액한도금액보다 작으면 한도금액 변경 불가 실패처리
|
||||||
if(sendingLimitAmt.compareTo(fxLmtAmt) < 0) {
|
if (sendingLimitAmt.compareTo(fxLmtAmt) < 0) {
|
||||||
return new UpdateAdminInfoTotalResDto(ApiResponseCode.CE_SENDINGLIMT_ERROR);
|
return new UpdateAdminInfoTotalResDto(ApiResponseCode.CE_SENDINGLIMT_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
package kr.co.uplus.ez.api.custMgt.dto;
|
package kr.co.uplus.ez.api.custMgt.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class AdminInfo implements Serializable {
|
public class AdminInfo implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(example = "관리자ID", name = "관리자ID", dataType = "String")
|
@ApiModelProperty(example = "admin", name = "관리자ID", dataType = "String")
|
||||||
private String adminId;
|
private String adminId;
|
||||||
@ApiModelProperty(example = "관리자코드", name = "관리자코드", dataType = "String")
|
@ApiModelProperty(example = "1001", name = "관리자코드", dataType = "String")
|
||||||
private String adminCd;
|
private String adminCd;
|
||||||
@ApiModelProperty(example = "관리자명", name = "관리자명", dataType = "String")
|
@ApiModelProperty(example = "ADMIN", name = "관리자명", dataType = "String")
|
||||||
private String adminNm;
|
private String adminNm;
|
||||||
@ApiModelProperty(example = "대리점명", name = "대리점명", dataType = "String")
|
@ApiModelProperty(example = "본사", name = "대리점명", dataType = "String")
|
||||||
private String agencyNm;
|
private String agencyNm;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
package kr.co.uplus.ez.api.custMgt.dto;
|
package kr.co.uplus.ez.api.custMgt.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class AdminInfoReqDto implements Serializable {
|
public class AdminInfoReqDto implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(example = "관리자ID", name = "관리자ID", dataType = "String")
|
@ApiModelProperty(example = "admin", name = "관리자ID", dataType = "String")
|
||||||
private String adminId;
|
private String adminId;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,23 +1,16 @@
|
|||||||
package kr.co.uplus.ez.api.mntrng;
|
package kr.co.uplus.ez.api.mntrng;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import kr.co.uplus.ez.api.mntrng.dto.*;
|
||||||
import java.util.List;
|
import kr.co.uplus.ez.common.data.ApiResponseCode;
|
||||||
|
import kr.co.uplus.ez.common.data.Paging;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.mybatis.spring.SqlSessionTemplate;
|
import org.mybatis.spring.SqlSessionTemplate;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import kr.co.uplus.ez.common.data.ApiResponseCode;
|
import java.util.ArrayList;
|
||||||
import kr.co.uplus.ez.common.data.ApiResponseMessage;
|
import java.util.List;
|
||||||
import kr.co.uplus.ez.common.data.Paging;
|
|
||||||
import kr.co.uplus.ez.api.mntrng.dto.SendListResDto;
|
|
||||||
import kr.co.uplus.ez.api.mntrng.dto.LiveSendSttusRes;
|
|
||||||
import kr.co.uplus.ez.api.mntrng.dto.LiveSendSttusResDto;
|
|
||||||
import kr.co.uplus.ez.api.mntrng.dto.SendList;
|
|
||||||
import kr.co.uplus.ez.api.mntrng.dto.SendListReqDto;
|
|
||||||
import kr.co.uplus.ez.api.mntrng.dto.SendListRes;
|
|
||||||
import kr.co.uplus.ez.api.mntrng.dto.LiveSendSttus;
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class MntrngService {
|
public class MntrngService {
|
||||||
@@ -44,16 +37,13 @@ public class MntrngService {
|
|||||||
String nowPage = String.valueOf(sendListReqDto.getPage());
|
String nowPage = String.valueOf(sendListReqDto.getPage());
|
||||||
int totalCnt = mntrngMapper.selectSendListTotalCnt(sendListReqDto);
|
int totalCnt = mntrngMapper.selectSendListTotalCnt(sendListReqDto);
|
||||||
|
|
||||||
if (totalCnt == 0) {
|
if (totalCnt == 0 || StringUtils.isBlank(sendListReqDto.getSentDate())) {
|
||||||
|
|
||||||
SendListRes sendListRes = new SendListRes();
|
SendListRes sendListRes = new SendListRes();
|
||||||
sendListRes.setList(new ArrayList<>());
|
sendListRes.setList(new ArrayList<>());
|
||||||
|
|
||||||
Paging paging = new Paging();
|
Paging paging = new Paging();
|
||||||
paging.setPage(nowPage);
|
paging.setPage(nowPage);
|
||||||
paging.setTotalCnt(String.valueOf(totalCnt));
|
paging.setTotalCnt(String.valueOf(totalCnt));
|
||||||
sendListRes.setPaging(paging);
|
sendListRes.setPaging(paging);
|
||||||
|
|
||||||
return new SendListResDto(ApiResponseCode.CM_NOT_FOUND, sendListRes);
|
return new SendListResDto(ApiResponseCode.CM_NOT_FOUND, sendListRes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
package kr.co.uplus.ez.api.mntrng.dto;
|
package kr.co.uplus.ez.api.mntrng.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class SendList implements Serializable {
|
public class SendList implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty(example = "no", name = "no", dataType = "String")
|
@ApiModelProperty(example = "no", name = "no", dataType = "String")
|
||||||
private String no;
|
private int no;
|
||||||
@ApiModelProperty(example = "발송일자", name = "발송일자", dataType = "String")
|
@ApiModelProperty(example = "발송일자", name = "발송일자", dataType = "String")
|
||||||
private String sentDate;
|
private String sentDate;
|
||||||
@ApiModelProperty(example = "고객사명", name = "고객사명", dataType = "String")
|
@ApiModelProperty(example = "고객사명", name = "고객사명", dataType = "String")
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package kr.co.uplus.ez.api.mntrng.dto;
|
package kr.co.uplus.ez.api.mntrng.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import javax.validation.constraints.NotNull;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
@Data
|
@Data
|
||||||
public class SendListReqDto implements Serializable {
|
public class SendListReqDto implements Serializable {
|
||||||
@@ -18,7 +18,6 @@ public class SendListReqDto implements Serializable {
|
|||||||
@ApiModelProperty(example = "현재 페이지", name = "현재 페이지", dataType = "int")
|
@ApiModelProperty(example = "현재 페이지", name = "현재 페이지", dataType = "int")
|
||||||
private int page;
|
private int page;
|
||||||
|
|
||||||
@NotNull
|
|
||||||
@ApiModelProperty(example = "발송일", name = "발송일",dataType = "String")
|
@ApiModelProperty(example = "발송일", name = "발송일",dataType = "String")
|
||||||
private String sentDate;
|
private String sentDate;
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
|||||||
import org.springframework.security.core.context.SecurityContextHolder;
|
import org.springframework.security.core.context.SecurityContextHolder;
|
||||||
import org.springframework.security.core.userdetails.UserDetails;
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -285,6 +286,7 @@ public class RiskMgtService {
|
|||||||
* @param paramMap
|
* @param paramMap
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@Transactional(value="db1TransactionManager")
|
||||||
public MsgInsertIntrcpResDto msgInsertIntrcp(MsgInsertIntrcpReqDto msgInsertIntrcpReqDto) {
|
public MsgInsertIntrcpResDto msgInsertIntrcp(MsgInsertIntrcpReqDto msgInsertIntrcpReqDto) {
|
||||||
|
|
||||||
RiskMgtMapper riskMgtMapper = sqlSessionMaster.getMapper(RiskMgtMapper.class);
|
RiskMgtMapper riskMgtMapper = sqlSessionMaster.getMapper(RiskMgtMapper.class);
|
||||||
@@ -292,7 +294,7 @@ public class RiskMgtService {
|
|||||||
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
|
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
|
||||||
UserDetails userDetails = (UserDetails) principal;
|
UserDetails userDetails = (UserDetails) principal;
|
||||||
String regId = userDetails.getUsername();
|
String regId = userDetails.getUsername();
|
||||||
try {
|
|
||||||
String seqNoStr = riskMgtMapper.selectMsgBlckWordSeq();
|
String seqNoStr = riskMgtMapper.selectMsgBlckWordSeq();
|
||||||
long seqNo = Long.parseLong(seqNoStr);
|
long seqNo = Long.parseLong(seqNoStr);
|
||||||
// seq select
|
// seq select
|
||||||
@@ -300,21 +302,14 @@ public class RiskMgtService {
|
|||||||
msgInsertIntrcpReqDto.setRegId(regId);
|
msgInsertIntrcpReqDto.setRegId(regId);
|
||||||
msgInsertIntrcpReqDto.setBlckYn(Const.COMM_YES);
|
msgInsertIntrcpReqDto.setBlckYn(Const.COMM_YES);
|
||||||
riskMgtMapper.insertMsgBlckword(msgInsertIntrcpReqDto);
|
riskMgtMapper.insertMsgBlckword(msgInsertIntrcpReqDto);
|
||||||
// TODO 차단문구 등록
|
|
||||||
|
|
||||||
// 리스트에 regId 넣기
|
// 리스트에 regId 넣기
|
||||||
List<MsgBlckwordList> list = msgInsertIntrcpReqDto.getList();
|
List<MsgBlckwordList> list = msgInsertIntrcpReqDto.getList();
|
||||||
for (MsgBlckwordList msgBlckword : list) {
|
for (MsgBlckwordList msgBlckword : list) {
|
||||||
msgBlckword.setSeqNo(seqNo);
|
msgBlckword.setSeqNo(seqNo);
|
||||||
msgBlckword.setRegId(regId);
|
msgBlckword.setRegId(regId);
|
||||||
}
|
}
|
||||||
|
|
||||||
riskMgtMapper.insertBlckwordDtl(list);
|
riskMgtMapper.insertBlckwordDtl(list);
|
||||||
|
|
||||||
} catch (Exception e) {
|
|
||||||
return new MsgInsertIntrcpResDto(ApiResponseCode.CM_DB_QUERY_ERR);
|
|
||||||
}
|
|
||||||
|
|
||||||
return new MsgInsertIntrcpResDto(ApiResponseCode.SUCCESS);
|
return new MsgInsertIntrcpResDto(ApiResponseCode.SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -324,6 +319,7 @@ public class RiskMgtService {
|
|||||||
* @param msgUpdateIntrcplReqDto
|
* @param msgUpdateIntrcplReqDto
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@Transactional(value="db1TransactionManager")
|
||||||
public MsgUpdateIntrcpResDto msgUpdateIntrcp(MsgUpdateIntrcplReqDto msgUpdateIntrcplReqDto) {
|
public MsgUpdateIntrcpResDto msgUpdateIntrcp(MsgUpdateIntrcplReqDto msgUpdateIntrcplReqDto) {
|
||||||
|
|
||||||
RiskMgtMapper riskMgtMapper = sqlSessionMaster.getMapper(RiskMgtMapper.class);
|
RiskMgtMapper riskMgtMapper = sqlSessionMaster.getMapper(RiskMgtMapper.class);
|
||||||
|
|||||||
@@ -15,6 +15,9 @@ public class Const {
|
|||||||
public static final String AUTH_STTUS_CD_01 = "01"; // 인증대기
|
public static final String AUTH_STTUS_CD_01 = "01"; // 인증대기
|
||||||
public static final String AUTH_STTUS_CD_02 = "02"; // 인증완료
|
public static final String AUTH_STTUS_CD_02 = "02"; // 인증완료
|
||||||
|
|
||||||
|
public static final String AUTH_CD_ADMIN = "1001";
|
||||||
|
public static final String AUTH_CD_AGENCY = "1002";
|
||||||
|
|
||||||
// paging
|
// paging
|
||||||
public static final String TOTAL_CNT = "totalCnt";
|
public static final String TOTAL_CNT = "totalCnt";
|
||||||
public static final String CURRENT_PAGE = "currentPage";
|
public static final String CURRENT_PAGE = "currentPage";
|
||||||
|
|||||||
@@ -1,155 +0,0 @@
|
|||||||
//package kr.co.uplus.ez.common.utils;
|
|
||||||
//
|
|
||||||
//import java.io.UnsupportedEncodingException;
|
|
||||||
//import java.lang.reflect.Method;
|
|
||||||
//import java.lang.reflect.Parameter;
|
|
||||||
//import java.util.Arrays;
|
|
||||||
//import java.util.Enumeration;
|
|
||||||
//
|
|
||||||
//import javax.servlet.http.HttpServletRequest;
|
|
||||||
//
|
|
||||||
//import org.joda.time.DateTime;
|
|
||||||
//import org.joda.time.format.DateTimeFormat;
|
|
||||||
//import org.joda.time.format.DateTimeFormatter;
|
|
||||||
//import org.springframework.util.LinkedMultiValueMap;
|
|
||||||
//import org.springframework.util.MultiValueMap;
|
|
||||||
//import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
//import org.springframework.web.util.ContentCachingRequestWrapper;
|
|
||||||
//
|
|
||||||
//import kr.co.uplus.ez.common.auth.AuthUser;
|
|
||||||
//import kr.co.uplus.ez.common.consts.Const;
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//public class LogUtils {
|
|
||||||
// public static final String HANG_LOG_KEY = "hangfile";
|
|
||||||
//
|
|
||||||
// private static final String HANG_LOG_ROOT = "/logs/uplus/hang/ui";
|
|
||||||
// private static final DateTimeFormatter FMT_TO_DAY = DateTimeFormat.forPattern("yyyyMMdd");
|
|
||||||
// private static final DateTimeFormatter FMT_TO_HOUR = DateTimeFormat.forPattern("yyyyMMddHH");
|
|
||||||
// private static final DateTimeFormatter FMT_TO_SECOND = DateTimeFormat.forPattern("yyyyMMddHHmmss");
|
|
||||||
// private static final DateTimeFormatter FMT_TO_MILSEC = DateTimeFormat.forPattern("yyyyMMddHHmmssSSS");
|
|
||||||
//
|
|
||||||
// public static String getTloLogfileName(String tloRoot) {
|
|
||||||
// DateTime now = DateTime.now();
|
|
||||||
// String dir = now.toString(FMT_TO_DAY);
|
|
||||||
// String suffix = now.toString(FMT_TO_HOUR);
|
|
||||||
// int min = 5 * (now.getMinuteOfHour() / 5);
|
|
||||||
// int NODE_NO = 1;
|
|
||||||
// return String.format("%s/%s/RCS.ADMIN.%03d.%s%02d.log", tloRoot, dir, NODE_NO, suffix, min);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public static String getLoginId() {
|
|
||||||
// AuthUser user = SpringUtils.getCurrentUser();
|
|
||||||
// if (user == null)
|
|
||||||
// return "anonymousUser";
|
|
||||||
//
|
|
||||||
// return user.getUsername();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public static String getCurrentTime() {
|
|
||||||
// return DateTime.now().toString(FMT_TO_MILSEC);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//// public static void addTloOrdinaryInfo(TloLog tlo, HttpServletRequest request, HttpServletResponse response) {
|
|
||||||
//// DateTime now = DateTime.now();
|
|
||||||
//// tlo.setRspTime(now.toString(FMT_TO_MILSEC));
|
|
||||||
//// tlo.setClientIp(LogUtils.clientIp(request));
|
|
||||||
////
|
|
||||||
//// int status = response.getStatus();
|
|
||||||
//// if (status == 404) {
|
|
||||||
//// tlo.setResultCode(ResultCode.SS_NOT_FOUND.getValue());
|
|
||||||
//// }
|
|
||||||
//// }
|
|
||||||
////
|
|
||||||
//// public static void addTloCustomInfo(TloLog tlo, HttpServletRequest request) {
|
|
||||||
//// tlo.setReqUri(request.getRequestURI());
|
|
||||||
//// tlo.setReqParam(getReqMultiMap(request).toString());
|
|
||||||
//// }
|
|
||||||
////
|
|
||||||
//// public static void addTloFailInfo(Object rspObj, HttpServletRequest request) {
|
|
||||||
//// if (rspObj instanceof Result) {
|
|
||||||
//// Result<?> result = (Result<?>) rspObj;
|
|
||||||
//// if (!result.isSuccess()) {
|
|
||||||
//// TloLog tlo = (TloLog) request.getAttribute(Const.KEY_LOG_OBJ);
|
|
||||||
//// String code = result.getCode();
|
|
||||||
//// tlo.setResultCode(code != null ? code : ResultCode.SE_UNKNOWN.getValue());
|
|
||||||
//// }
|
|
||||||
//// }
|
|
||||||
//// else if (rspObj instanceof RestResult) {
|
|
||||||
//// RestResult<?> result = (RestResult<?>) rspObj;
|
|
||||||
//// if (!result.isSuccess()) {
|
|
||||||
//// TloLog tlo = (TloLog) request.getAttribute(Const.KEY_LOG_OBJ);
|
|
||||||
//// ResultCode code = result.getCode();
|
|
||||||
//// tlo.setResultCode(code != null ? code.getValue() : ResultCode.SE_UNKNOWN.getValue());
|
|
||||||
//// }
|
|
||||||
//// }
|
|
||||||
//// }
|
|
||||||
////
|
|
||||||
//// public static void addTloExceptionInfo(TloLog tlo, Exception ex) {
|
|
||||||
//// if (ex == null)
|
|
||||||
//// return;
|
|
||||||
////
|
|
||||||
//// if (ex instanceof ServletException) {
|
|
||||||
//// Throwable e = ((ServletException) ex).getRootCause();
|
|
||||||
//// if (e instanceof SQLException || e instanceof DataAccessException) {
|
|
||||||
//// tlo.setResultCode(ResultCode.SE_DB.getValue());
|
|
||||||
//// }
|
|
||||||
//// else {
|
|
||||||
//// tlo.setResultCode(ResultCode.SE_INTERNAL.getValue());
|
|
||||||
//// }
|
|
||||||
//// }
|
|
||||||
//// else {
|
|
||||||
//// tlo.setResultCode(ResultCode.SE_INTERNAL.getValue());
|
|
||||||
//// }
|
|
||||||
//// }
|
|
||||||
// public static String clientIp(HttpServletRequest request) {
|
|
||||||
// String ip = request.getHeader("X-Forwarded-For");
|
|
||||||
// if (ip == null)
|
|
||||||
// ip = request.getRemoteAddr();
|
|
||||||
// return ip;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// public static MultiValueMap<String,String> getReqMultiMap(HttpServletRequest request) {
|
|
||||||
// MultiValueMap<String,String> params = new LinkedMultiValueMap<>();
|
|
||||||
// Enumeration<String> names = request.getParameterNames();
|
|
||||||
// while (names.hasMoreElements()) {
|
|
||||||
// String name = names.nextElement();
|
|
||||||
// if (Const.NOT_LOG_PARAMS.contains(name))
|
|
||||||
// continue;
|
|
||||||
// String[] value = request.getParameterValues(name);
|
|
||||||
// params.put(name, Arrays.asList(value));
|
|
||||||
// }
|
|
||||||
// return params;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public static boolean isResourceUri(String uri) {
|
|
||||||
// return uri.startsWith("/static/");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public static String getRequestBody(HttpServletRequest request, Method method) {
|
|
||||||
// Parameter[] parameters = method.getParameters();
|
|
||||||
//
|
|
||||||
// for (Parameter param : parameters) {
|
|
||||||
// if (param.getAnnotation(RequestBody.class) != null) {
|
|
||||||
// // CommonsRequestLoggingFilter.getMessagePayload()
|
|
||||||
// ContentCachingRequestWrapper wrapper =
|
|
||||||
// org.springframework.web.util.WebUtils.getNativeRequest(request, ContentCachingRequestWrapper.class);
|
|
||||||
// if (wrapper != null) {
|
|
||||||
// byte[] buf = wrapper.getContentAsByteArray();
|
|
||||||
// if (buf.length > 0) {
|
|
||||||
// int length = Math.min(buf.length, 10000);
|
|
||||||
// try {
|
|
||||||
// return new String(buf, 0, length, wrapper.getCharacterEncoding());
|
|
||||||
// }
|
|
||||||
// catch (UnsupportedEncodingException ex) {
|
|
||||||
// return "[unknown]";
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return "";
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//}
|
|
||||||
@@ -25,11 +25,28 @@
|
|||||||
/* attractMgt-mapper.xml(selectAttractList) */
|
/* attractMgt-mapper.xml(selectAttractList) */
|
||||||
SELECT
|
SELECT
|
||||||
@ROWNUM := @ROWNUM + 1 AS NO
|
@ROWNUM := @ROWNUM + 1 AS NO
|
||||||
, A.*
|
, A.SUBS_DT
|
||||||
|
, A.NORG_NM
|
||||||
|
, A.USER_SEQ
|
||||||
|
, A.LOGIN_ID
|
||||||
|
, A.CUST_NM
|
||||||
|
, A.BIZRNO
|
||||||
|
, A.USER_NM
|
||||||
|
, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'SUBS_STTUS_CD' AND DTL_CD = A.SUBS_STTUS_CD) as SUBS_STTUS_CD
|
||||||
|
, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'CUST_KD_CD' AND DTL_CD = A.CUST_TY_CD) as CUST_TY_CD
|
||||||
|
, (
|
||||||
|
SELECT
|
||||||
|
sum(IFNULL(ecm.SND_CNT,0) + IFNULL(ecm.FBACK_CNT,0))
|
||||||
|
FROM
|
||||||
|
hubez_common.EZ_CUST_MSTAT ecm
|
||||||
|
WHERE
|
||||||
|
ecm.USER_SEQ = A.USER_SEQ
|
||||||
|
AND ecm.SUM_YM BETWEEN DATE_ADD(NOW(), INTERVAL -37 MONTH) AND DATE_ADD(NOW(), INTERVAL -1 MONTH)
|
||||||
|
) AS SND_CNT
|
||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
DATE_FORMAT(esi.SUBS_DT, '%Y-%m-%d') AS SUBS_DT
|
ifnull(DATE_FORMAT(esi.OPN_DT, '%Y-%m-%d'), DATE_FORMAT(esi.SUBS_DT , '%Y-%m-%d')) AS SUBS_DT
|
||||||
, eig.NORG_NM
|
, eig.NORG_NM
|
||||||
, esi.USER_SEQ
|
, esi.USER_SEQ
|
||||||
, eiu.LOGIN_ID
|
, eiu.LOGIN_ID
|
||||||
@@ -38,14 +55,6 @@
|
|||||||
, esu.USER_NM
|
, esu.USER_NM
|
||||||
, esi.SUBS_STTUS_CD
|
, esi.SUBS_STTUS_CD
|
||||||
, eci.CUST_TY_CD
|
, eci.CUST_TY_CD
|
||||||
,(
|
|
||||||
SELECT
|
|
||||||
sum(IFNULL(ecm.SND_CNT,0) + IFNULL(ecm.FBACK_CNT,0))
|
|
||||||
FROM
|
|
||||||
hubez_common.EZ_CUST_MSTAT ecm
|
|
||||||
WHERE
|
|
||||||
ecm.USER_SEQ = esu.USER_SEQ
|
|
||||||
AND ecm.SUM_YM BETWEEN DATE_ADD(NOW(), INTERVAL -37 MONTH) AND DATE_ADD(NOW(), INTERVAL -1 MONTH)) AS SND_CNT
|
|
||||||
FROM
|
FROM
|
||||||
hubez_common.EZ_SUBS_INFO esi
|
hubez_common.EZ_SUBS_INFO esi
|
||||||
INNER JOIN hubez_common.EZ_CUST_INFO eci
|
INNER JOIN hubez_common.EZ_CUST_INFO eci
|
||||||
@@ -67,26 +76,36 @@
|
|||||||
/* attractMgt-mapper.xml(selectAttractExcelList) */
|
/* attractMgt-mapper.xml(selectAttractExcelList) */
|
||||||
SELECT
|
SELECT
|
||||||
@ROWNUM := @ROWNUM + 1 AS NO
|
@ROWNUM := @ROWNUM + 1 AS NO
|
||||||
, A.*
|
, A.SUBS_DT
|
||||||
|
, A.NORG_NM
|
||||||
|
, A.USER_SEQ
|
||||||
|
, A.LOGIN_ID
|
||||||
|
, A.CUST_NM
|
||||||
|
, A.BIZRNO
|
||||||
|
, A.USER_NM
|
||||||
|
, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'SUBS_STTUS_CD' AND DTL_CD = A.SUBS_STTUS_CD) as SUBS_STTUS_CD
|
||||||
|
, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'CUST_KD_CD' AND DTL_CD = A.CUST_TY_CD) as CUST_TY_CD
|
||||||
|
, (
|
||||||
|
SELECT
|
||||||
|
sum(IFNULL(ecm.SND_CNT,0) + IFNULL(ecm.FBACK_CNT,0))
|
||||||
|
FROM
|
||||||
|
hubez_common.EZ_CUST_MSTAT ecm
|
||||||
|
WHERE
|
||||||
|
ecm.USER_SEQ = A.USER_SEQ
|
||||||
|
AND ecm.SUM_YM BETWEEN DATE_ADD(NOW(), INTERVAL -37 MONTH) AND DATE_ADD(NOW(), INTERVAL -1 MONTH)
|
||||||
|
) AS SND_CNT
|
||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
DATE_FORMAT(esi.SUBS_DT, '%Y-%m-%d') AS SUBS_DT
|
ifnull(DATE_FORMAT(esi.OPN_DT, '%Y-%m-%d'), DATE_FORMAT(esi.SUBS_DT , '%Y-%m-%d')) AS SUBS_DT
|
||||||
, eig.NORG_NM
|
, eig.NORG_NM
|
||||||
|
, esi.USER_SEQ
|
||||||
, eiu.LOGIN_ID
|
, eiu.LOGIN_ID
|
||||||
, eci.CUST_NM
|
, eci.CUST_NM
|
||||||
, eci.BIZRNO
|
, eci.BIZRNO
|
||||||
, esu.USER_NM
|
, esu.USER_NM
|
||||||
, esi.SUBS_STTUS_CD
|
, esi.SUBS_STTUS_CD
|
||||||
, eci.CUST_TY_CD
|
, eci.CUST_TY_CD
|
||||||
,(
|
|
||||||
SELECT
|
|
||||||
sum(IFNULL(ecm.SND_CNT,0) + IFNULL(ecm.FBACK_CNT,0))
|
|
||||||
FROM
|
|
||||||
hubez_common.EZ_CUST_MSTAT ecm
|
|
||||||
WHERE
|
|
||||||
ecm.USER_SEQ = esu.USER_SEQ
|
|
||||||
AND ecm.SUM_YM BETWEEN DATE_ADD(NOW(), INTERVAL -37 MONTH) AND DATE_ADD(NOW(), INTERVAL -1 MONTH)) AS SND_CNT
|
|
||||||
FROM
|
FROM
|
||||||
hubez_common.EZ_SUBS_INFO esi
|
hubez_common.EZ_SUBS_INFO esi
|
||||||
INNER JOIN hubez_common.EZ_CUST_INFO eci
|
INNER JOIN hubez_common.EZ_CUST_INFO eci
|
||||||
@@ -99,9 +118,7 @@
|
|||||||
ON eiu.EX_DEPT_CD = eig.NORG_CD
|
ON eiu.EX_DEPT_CD = eig.NORG_CD
|
||||||
WHERE 1 = 1
|
WHERE 1 = 1
|
||||||
<include refid="attractListCondition"/>
|
<include refid="attractListCondition"/>
|
||||||
ORDER BY
|
ORDER BY esi.SUBS_DT DESC) A ,
|
||||||
esi.SUBS_DT DESC
|
|
||||||
LIMIT 100) A ,
|
|
||||||
( SELECT @ROWNUM := 0 ) AS R
|
( SELECT @ROWNUM := 0 ) AS R
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@@ -133,6 +150,9 @@
|
|||||||
AND eci.BIZRNO = #{searchText}
|
AND eci.BIZRNO = #{searchText}
|
||||||
</if>
|
</if>
|
||||||
</if>
|
</if>
|
||||||
|
<if test="attrctorId != null and attrctorId != ''">
|
||||||
|
and esi.ATTRCTOR_ID = #{attrctorId}
|
||||||
|
</if>
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectAttractDetail" parameterType="kr.co.uplus.ez.api.attractMgt.dto.ChannelDetailReqDto" resultType="kr.co.uplus.ez.api.attractMgt.dto.ChannelDetailRes">
|
<select id="selectAttractDetail" parameterType="kr.co.uplus.ez.api.attractMgt.dto.ChannelDetailReqDto" resultType="kr.co.uplus.ez.api.attractMgt.dto.ChannelDetailRes">
|
||||||
@@ -140,10 +160,24 @@
|
|||||||
SELECT
|
SELECT
|
||||||
DATE_FORMAT(esi.SUBS_DT, '%Y-%m-%d') AS SUBS_DT
|
DATE_FORMAT(esi.SUBS_DT, '%Y-%m-%d') AS SUBS_DT
|
||||||
, esi.SUBS_STTUS_CD
|
, esi.SUBS_STTUS_CD
|
||||||
|
,(SELECT
|
||||||
|
T2.DTL_CD_NM AS codeNm
|
||||||
|
FROM hubez_common.EZ_CD_GRP T1
|
||||||
|
LEFT JOIN hubez_common.EZ_CD_DTL T2
|
||||||
|
ON T1.GRP_CD = T2.GRP_CD
|
||||||
|
WHERE T1.GRP_CD = 'SUBS_STTUS_CD'
|
||||||
|
AND T2.DTL_CD = esi.SUBS_STTUS_CD) AS SUBS_STTUS_NM
|
||||||
, eci.CUST_NM
|
, eci.CUST_NM
|
||||||
, esi.PROD_CD
|
, esi.PROD_CD
|
||||||
, eci.REPR_NM
|
, eci.REPR_NM
|
||||||
, eci.CUST_TY_CD
|
, eci.CUST_TY_CD
|
||||||
|
,(SELECT
|
||||||
|
T2.DTL_CD_NM AS codeNm
|
||||||
|
FROM hubez_common.EZ_CD_GRP T1
|
||||||
|
LEFT JOIN hubez_common.EZ_CD_DTL T2
|
||||||
|
ON T1.GRP_CD = T2.GRP_CD
|
||||||
|
WHERE T1.GRP_CD = 'CUST_KD_CD'
|
||||||
|
AND T2.DTL_CD = eci.CUST_TY_CD) AS CUST_TY_NM
|
||||||
, eci.BIZRNO
|
, eci.BIZRNO
|
||||||
, eci.CORPNO AS CPR_REG_NO
|
, eci.CORPNO AS CPR_REG_NO
|
||||||
, eci.ZIPCD AS ADR1
|
, eci.ZIPCD AS ADR1
|
||||||
|
|||||||
@@ -27,8 +27,22 @@
|
|||||||
(eci.BIZRNO)AS bRegNo,
|
(eci.BIZRNO)AS bRegNo,
|
||||||
eat.TMPLT_CD AS tmpltCd,
|
eat.TMPLT_CD AS tmpltCd,
|
||||||
eat.TMPLT_NM AS tmpltNm,
|
eat.TMPLT_NM AS tmpltNm,
|
||||||
(eat.TMPLT_TP_CD) AS tmpltType,
|
<!-- (eat.TMPLT_TP_CD) AS tmpltType, -->
|
||||||
eat.TMPLT_STTUS_CD AS stat,
|
(SELECT
|
||||||
|
T2.DTL_CD_NM AS codeNm
|
||||||
|
FROM hubez_common.EZ_CD_GRP T1
|
||||||
|
LEFT JOIN hubez_common.EZ_CD_DTL T2
|
||||||
|
ON T1.GRP_CD = T2.GRP_CD
|
||||||
|
WHERE T1.GRP_CD = 'TMPLT_TP_CD'
|
||||||
|
AND T2.DTL_CD=eat.TMPLT_TP_CD) AS tmpltType,
|
||||||
|
<!-- eat.TMPLT_STTUS_CD AS stat, -->
|
||||||
|
(SELECT
|
||||||
|
T2.DTL_CD_NM AS codeNm
|
||||||
|
FROM hubez_common.EZ_CD_GRP T1
|
||||||
|
LEFT JOIN hubez_common.EZ_CD_DTL T2
|
||||||
|
ON T1.GRP_CD = T2.GRP_CD
|
||||||
|
WHERE T1.GRP_CD = 'TMPLT_STTUS_CD'
|
||||||
|
AND T2.DTL_CD=eat.TMPLT_STTUS_CD) AS stat,
|
||||||
eat.REJCT_RSN AS returnReason,
|
eat.REJCT_RSN AS returnReason,
|
||||||
eat.SNDRPROF_KEY AS sendProfile,
|
eat.SNDRPROF_KEY AS sendProfile,
|
||||||
<!-- (select CHNL_ID from hubez_common.EZ_KKO_CHNL ekc WHERE eat.SNDRPROF_KEY = ekc.SNDRPROF_KEY) AS sendProfile, -->
|
<!-- (select CHNL_ID from hubez_common.EZ_KKO_CHNL ekc WHERE eat.SNDRPROF_KEY = ekc.SNDRPROF_KEY) AS sendProfile, -->
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
INNER JOIN hubez_common.EZ_SVC_USER esu
|
INNER JOIN hubez_common.EZ_SVC_USER esu
|
||||||
ON
|
ON
|
||||||
esu.USER_SEQ = esi.USER_SEQ
|
esu.USER_SEQ = esi.USER_SEQ
|
||||||
|
AND esu.USER_TP_CD IN ('01','03')
|
||||||
INNER JOIN hubez_common.EZ_CUST_INFO eci
|
INNER JOIN hubez_common.EZ_CUST_INFO eci
|
||||||
ON
|
ON
|
||||||
eci.CUST_SEQ = esi.CUST_SEQ
|
eci.CUST_SEQ = esi.CUST_SEQ
|
||||||
@@ -23,8 +24,49 @@
|
|||||||
<select id="selectSubsLists" parameterType="kr.co.uplus.ez.api.custMgt.dto.SubsListReqDto" resultType="kr.co.uplus.ez.api.custMgt.dto.SubsList">
|
<select id="selectSubsLists" parameterType="kr.co.uplus.ez.api.custMgt.dto.SubsListReqDto" resultType="kr.co.uplus.ez.api.custMgt.dto.SubsList">
|
||||||
/* custMgt-mapper.xml(selectSubsLists) */
|
/* custMgt-mapper.xml(selectSubsLists) */
|
||||||
SELECT
|
SELECT
|
||||||
@ROWNUM := @ROWNUM + 1 AS NO,
|
@ROWNUM := @ROWNUM + 1 AS NO
|
||||||
A.*
|
, A.SERVICE_ID
|
||||||
|
, A.CUST_NM
|
||||||
|
, A.REG_NO
|
||||||
|
, A.REG_DT
|
||||||
|
, (
|
||||||
|
SELECT
|
||||||
|
DTL_CD_NM
|
||||||
|
FROM
|
||||||
|
hubez_common.EZ_CD_DTL
|
||||||
|
WHERE
|
||||||
|
GRP_CD = 'SUBS_STTUS_CD'
|
||||||
|
AND DTL_CD = A.SUBS_STTUS_CD
|
||||||
|
) AS STAT
|
||||||
|
, ifnull((
|
||||||
|
select case when EX_PROVUSERTYPE in ( 'CCS-CS1'
|
||||||
|
, 'CCS-CB1'
|
||||||
|
, 'CCS-CB2'
|
||||||
|
, 'CCS-CJ'
|
||||||
|
, 'CCS-LS2'
|
||||||
|
, 'CCS-LS3'
|
||||||
|
, 'CCS-M'
|
||||||
|
, 'CCS-MJ'
|
||||||
|
, 'CCS-P'
|
||||||
|
, 'CCS-P2'
|
||||||
|
, 'CCS-D'
|
||||||
|
, 'CCS-G'
|
||||||
|
, 'CCS-S') then '고객센터'
|
||||||
|
when EX_PROVUSERTYPE = 'DEALER' then '대리점'
|
||||||
|
else '직접영업'
|
||||||
|
end as ATTRACT_CHANNEL
|
||||||
|
from hubez_imdb.EZ_IM_USER
|
||||||
|
where LOGIN_ID = A.attrctorId
|
||||||
|
) , '고객셀프가입') as CHANNEL
|
||||||
|
, (
|
||||||
|
SELECT
|
||||||
|
PROD_NM
|
||||||
|
FROM
|
||||||
|
hubez_common.EZ_PROD_INFO
|
||||||
|
WHERE
|
||||||
|
PROD_CD = A.PROD_CD
|
||||||
|
) AS PLAN
|
||||||
|
, IFNULL((SELECT CFWD_AMT FROM hubez_admin.EZ_USER_LMT WHERE USER_SEQ = A.adminSeq AND LMT_YM = DATE_FORMAT(NOW(), '%Y%m')), 0) AS CARRY_OVER -- 년월까지만 비교 해야 함.
|
||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
@@ -32,46 +74,71 @@
|
|||||||
eci.CUST_NM as CUST_NM ,
|
eci.CUST_NM as CUST_NM ,
|
||||||
esi.ENTR_NO as REG_NO,
|
esi.ENTR_NO as REG_NO,
|
||||||
DATE_FORMAT(esi.OPN_DT, '%Y-%m-%d') AS REG_DT,
|
DATE_FORMAT(esi.OPN_DT, '%Y-%m-%d') AS REG_DT,
|
||||||
(
|
esi.SUBS_STTUS_CD ,
|
||||||
SELECT
|
esi.PROD_CD,
|
||||||
DTL_CD_NM
|
esi.USER_SEQ as adminSeq,
|
||||||
FROM
|
esi.ATTRCTOR_ID as attrctorId
|
||||||
hubez_common.EZ_CD_DTL
|
|
||||||
WHERE
|
|
||||||
GRP_CD = 'SUBS_STTUS_CD'
|
|
||||||
AND DTL_CD = esi.SUBS_STTUS_CD) AS STAT
|
|
||||||
,
|
|
||||||
(
|
|
||||||
SELECT
|
|
||||||
PROD_NM
|
|
||||||
FROM
|
|
||||||
hubez_common.EZ_PROD_INFO
|
|
||||||
WHERE
|
|
||||||
PROD_CD = esi.PROD_CD) AS PLAN
|
|
||||||
,
|
|
||||||
IFNULL((SELECT CFWD_AMT FROM hubez_admin.EZ_USER_LMT WHERE USER_SEQ = esi.USER_SEQ AND LMT_YM = DATE_FORMAT(NOW(), '%Y%m%d')), 0) AS CARRY_OVER
|
|
||||||
FROM
|
FROM
|
||||||
hubez_common.EZ_SUBS_INFO esi
|
hubez_common.EZ_SUBS_INFO esi
|
||||||
INNER JOIN hubez_common.EZ_SVC_USER esu
|
INNER JOIN hubez_common.EZ_SVC_USER esu
|
||||||
ON
|
ON esu.USER_SEQ = esi.USER_SEQ
|
||||||
esu.USER_SEQ = esi.USER_SEQ
|
and esu.USER_TP_CD in ('01','03')
|
||||||
INNER JOIN hubez_common.EZ_CUST_INFO eci
|
INNER JOIN hubez_common.EZ_CUST_INFO eci
|
||||||
ON
|
ON
|
||||||
eci.CUST_SEQ = esi.CUST_SEQ
|
eci.CUST_SEQ = esi.CUST_SEQ
|
||||||
AND esi.CUST_SEQ = esu.CUST_SEQ
|
AND esi.CUST_SEQ = esu.CUST_SEQ
|
||||||
WHERE 1 = 1
|
WHERE 1 = 1
|
||||||
<include refid="subsListCondition"/>
|
<include refid="subsListCondition"/>
|
||||||
ORDER BY
|
ORDER BY esi.OPN_DT DESC
|
||||||
esi.OPN_DT DESC
|
LIMIT #{page}, #{pagePerRows}) A, ( SELECT @ROWNUM := #{page} ) AS R
|
||||||
LIMIT #{page}, #{pagePerRows}) A,
|
|
||||||
( SELECT @ROWNUM := #{page} ) AS R
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectSubsListsExcel" parameterType="kr.co.uplus.ez.api.custMgt.dto.SubsListReqDto" resultType="kr.co.uplus.ez.api.custMgt.dto.SubsList">
|
<select id="selectSubsListsExcel" parameterType="kr.co.uplus.ez.api.custMgt.dto.SubsListReqDto" resultType="kr.co.uplus.ez.api.custMgt.dto.SubsList">
|
||||||
/* custMgt-mapper.xml(selectSubsListsExcel) */
|
/* custMgt-mapper.xml(selectSubsListsExcel) */
|
||||||
SELECT
|
SELECT
|
||||||
@ROWNUM := @ROWNUM + 1 AS NO,
|
@ROWNUM := @ROWNUM + 1 AS NO
|
||||||
A.*
|
, A.SERVICE_ID
|
||||||
|
, A.CUST_NM
|
||||||
|
, A.REG_NO
|
||||||
|
, A.REG_DT
|
||||||
|
, (
|
||||||
|
SELECT
|
||||||
|
DTL_CD_NM
|
||||||
|
FROM
|
||||||
|
hubez_common.EZ_CD_DTL
|
||||||
|
WHERE
|
||||||
|
GRP_CD = 'SUBS_STTUS_CD'
|
||||||
|
AND DTL_CD = A.SUBS_STTUS_CD
|
||||||
|
) AS STAT
|
||||||
|
, ifnull((
|
||||||
|
select case when EX_PROVUSERTYPE in ( 'CCS-CS1'
|
||||||
|
, 'CCS-CB1'
|
||||||
|
, 'CCS-CB2'
|
||||||
|
, 'CCS-CJ'
|
||||||
|
, 'CCS-LS2'
|
||||||
|
, 'CCS-LS3'
|
||||||
|
, 'CCS-M'
|
||||||
|
, 'CCS-MJ'
|
||||||
|
, 'CCS-P'
|
||||||
|
, 'CCS-P2'
|
||||||
|
, 'CCS-D'
|
||||||
|
, 'CCS-G'
|
||||||
|
, 'CCS-S') then '고객센터'
|
||||||
|
when EX_PROVUSERTYPE = 'DEALER' then '대리점'
|
||||||
|
else '직접영업'
|
||||||
|
end as ATTRACT_CHANNEL
|
||||||
|
from hubez_imdb.EZ_IM_USER
|
||||||
|
where LOGIN_ID = A.attrctorId
|
||||||
|
) , '고객셀프가입') as CHANNEL
|
||||||
|
, (
|
||||||
|
SELECT
|
||||||
|
PROD_NM
|
||||||
|
FROM
|
||||||
|
hubez_common.EZ_PROD_INFO
|
||||||
|
WHERE
|
||||||
|
PROD_CD = A.PROD_CD
|
||||||
|
) AS PLAN
|
||||||
|
, IFNULL((SELECT CFWD_AMT FROM hubez_admin.EZ_USER_LMT WHERE USER_SEQ = A.adminSeq AND LMT_YM = DATE_FORMAT(NOW(), '%Y%m')), 0) AS CARRY_OVER -- 년월까지만 비교 해야 함.
|
||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
@@ -79,38 +146,22 @@
|
|||||||
eci.CUST_NM as CUST_NM ,
|
eci.CUST_NM as CUST_NM ,
|
||||||
esi.ENTR_NO as REG_NO,
|
esi.ENTR_NO as REG_NO,
|
||||||
DATE_FORMAT(esi.OPN_DT, '%Y-%m-%d') AS REG_DT,
|
DATE_FORMAT(esi.OPN_DT, '%Y-%m-%d') AS REG_DT,
|
||||||
(
|
esi.SUBS_STTUS_CD ,
|
||||||
SELECT
|
esi.PROD_CD,
|
||||||
DTL_CD_NM
|
esi.USER_SEQ as adminSeq,
|
||||||
FROM
|
esi.ATTRCTOR_ID as attrctorId
|
||||||
hubez_common.EZ_CD_DTL
|
|
||||||
WHERE
|
|
||||||
GRP_CD = 'SUBS_STTUS_CD'
|
|
||||||
AND DTL_CD = esi.SUBS_STTUS_CD) AS STAT
|
|
||||||
,
|
|
||||||
(
|
|
||||||
SELECT
|
|
||||||
PROD_NM
|
|
||||||
FROM
|
|
||||||
hubez_common.EZ_PROD_INFO
|
|
||||||
WHERE
|
|
||||||
PROD_CD = esi.PROD_CD) AS PLAN
|
|
||||||
,
|
|
||||||
IFNULL((SELECT CFWD_AMT FROM hubez_admin.EZ_USER_LMT WHERE USER_SEQ = esi.USER_SEQ AND LMT_YM = DATE_FORMAT(NOW(), '%Y%m%d')), 0) AS CARRY_OVER
|
|
||||||
FROM
|
FROM
|
||||||
hubez_common.EZ_SUBS_INFO esi
|
hubez_common.EZ_SUBS_INFO esi
|
||||||
INNER JOIN hubez_common.EZ_SVC_USER esu
|
INNER JOIN hubez_common.EZ_SVC_USER esu
|
||||||
ON
|
ON esu.USER_SEQ = esi.USER_SEQ
|
||||||
esu.USER_SEQ = esi.USER_SEQ
|
and esu.USER_TP_CD in ('01','03')
|
||||||
INNER JOIN hubez_common.EZ_CUST_INFO eci
|
INNER JOIN hubez_common.EZ_CUST_INFO eci
|
||||||
ON
|
ON
|
||||||
eci.CUST_SEQ = esi.CUST_SEQ
|
eci.CUST_SEQ = esi.CUST_SEQ
|
||||||
AND esi.CUST_SEQ = esu.CUST_SEQ
|
AND esi.CUST_SEQ = esu.CUST_SEQ
|
||||||
WHERE 1 = 1
|
WHERE 1 = 1
|
||||||
<include refid="subsListCondition"></include>
|
<include refid="subsListCondition"/>
|
||||||
ORDER BY
|
ORDER BY esi.OPN_DT DESC ) A, ( SELECT @ROWNUM := 0 ) AS R
|
||||||
esi.OPN_DT DESC) A,
|
|
||||||
( SELECT @ROWNUM := 0 ) AS R
|
|
||||||
</select>
|
</select>
|
||||||
<sql id="subsListCondition">
|
<sql id="subsListCondition">
|
||||||
<if test="startDt != null and startDt != ''">
|
<if test="startDt != null and startDt != ''">
|
||||||
@@ -246,7 +297,7 @@
|
|||||||
eci.REPR_NM,
|
eci.REPR_NM,
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
DTL_CD_NM
|
ifnull(DTL_CD_NM, '-')
|
||||||
FROM
|
FROM
|
||||||
hubez_common.EZ_CD_DTL
|
hubez_common.EZ_CD_DTL
|
||||||
WHERE
|
WHERE
|
||||||
@@ -258,7 +309,7 @@
|
|||||||
eci.BIZRNO AS B_REG_NO,
|
eci.BIZRNO AS B_REG_NO,
|
||||||
eci.CORPNO AS CPR_REG_NO,
|
eci.CORPNO AS CPR_REG_NO,
|
||||||
-- 사용정보
|
-- 사용정보
|
||||||
DATE_FORMAT(esi.OPN_DT, '%Y-%m-%d') AS SUBS_DT,
|
ifnull(DATE_FORMAT(esi.OPN_DT, '%Y-%m-%d'), DATE_FORMAT(esi.SUBS_DT , '%Y-%m-%d')) AS SUBS_DT,
|
||||||
esi.PROD_CD,
|
esi.PROD_CD,
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
@@ -294,8 +345,8 @@
|
|||||||
AND DTL_CD = esu.USER_TP_CD) AS USE_AUTH,
|
AND DTL_CD = esu.USER_TP_CD) AS USE_AUTH,
|
||||||
esu.USER_NM,
|
esu.USER_NM,
|
||||||
esu.HP_NO,
|
esu.HP_NO,
|
||||||
IFNULL((SELECT CFWD_AMT + CFWD_RSTRT_BLNC FROM hubez_admin.EZ_USER_LMT WHERE USER_SEQ = esi.USER_SEQ AND LMT_YM = DATE_FORMAT(NOW(), '%Y%m%d')), 0) AS CARRY_OVER,
|
IFNULL((SELECT CFWD_AMT + CFWD_RSTRT_BLNC FROM hubez_admin.EZ_USER_LMT WHERE USER_SEQ = esi.USER_SEQ AND LMT_YM = DATE_FORMAT(NOW(), '%Y%m')), 0) AS CARRY_OVER,
|
||||||
(SELECT COUNT(*) FROM hubez_common.EZ_SVC_USER WHERE PRNTS_USER_SEQ =esu.USER_SEQ) AS USER_CNT
|
(SELECT COUNT(*) FROM hubez_common.EZ_SVC_USER WHERE PRNTS_USER_SEQ = esu.USER_SEQ and USER_TP_CD = '02' ) AS USER_CNT
|
||||||
FROM
|
FROM
|
||||||
hubez_common.EZ_SUBS_INFO esi
|
hubez_common.EZ_SUBS_INFO esi
|
||||||
INNER JOIN hubez_common.EZ_SVC_USER esu
|
INNER JOIN hubez_common.EZ_SVC_USER esu
|
||||||
@@ -306,7 +357,7 @@
|
|||||||
eci.CUST_SEQ = esi.CUST_SEQ
|
eci.CUST_SEQ = esi.CUST_SEQ
|
||||||
AND esi.CUST_SEQ = esu.CUST_SEQ
|
AND esi.CUST_SEQ = esu.CUST_SEQ
|
||||||
WHERE 1 = 1
|
WHERE 1 = 1
|
||||||
AND esu.USER_TP_CD = '01'
|
AND esu.USER_TP_CD in( '01','03')
|
||||||
AND esu.USER_ID = #{serviceId}
|
AND esu.USER_ID = #{serviceId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@@ -322,12 +373,12 @@
|
|||||||
<if test="adminNm != null and adminNm != ''">
|
<if test="adminNm != null and adminNm != ''">
|
||||||
,SUBSMNGR_NM= #{adminNm}
|
,SUBSMNGR_NM= #{adminNm}
|
||||||
</if>
|
</if>
|
||||||
WHERE USER_SEQ = (SELECT esi.USER_SEQ
|
WHERE USER_SEQ = (SELECT USER_SEQ FROM (SELECT esi.USER_SEQ
|
||||||
FROM hubez_common.EZ_SUBS_INFO esi
|
FROM hubez_common.EZ_SUBS_INFO esi
|
||||||
INNER JOIN hubez_common.EZ_SVC_USER esu
|
INNER JOIN hubez_common.EZ_SVC_USER esu
|
||||||
ON esu.USER_SEQ = esi.USER_SEQ
|
ON esu.USER_SEQ = esi.USER_SEQ
|
||||||
WHERE esu.USER_TP_CD = '01'
|
WHERE esu.USER_TP_CD = '01'
|
||||||
AND esu.USER_ID = #{serviceId})
|
AND esu.USER_ID = #{serviceId}) as sub1)
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="updateUserInfo" parameterType="kr.co.uplus.ez.api.custMgt.dto.UpdateUserReqDto">
|
<update id="updateUserInfo" parameterType="kr.co.uplus.ez.api.custMgt.dto.UpdateUserReqDto">
|
||||||
@@ -356,8 +407,18 @@
|
|||||||
|
|
||||||
<select id="selectCarryOverList" parameterType="kr.co.uplus.ez.api.custMgt.dto.CarryOverListReqDto" resultType="kr.co.uplus.ez.api.custMgt.dto.CarryOver">
|
<select id="selectCarryOverList" parameterType="kr.co.uplus.ez.api.custMgt.dto.CarryOverListReqDto" resultType="kr.co.uplus.ez.api.custMgt.dto.CarryOver">
|
||||||
/* custMgt-mapper.xml(selectCarryOverList) */
|
/* custMgt-mapper.xml(selectCarryOverList) */
|
||||||
SELECT
|
SELECT null AS COLEC_TMS
|
||||||
MAX(eud.COLEC_TMS) AS COLEC_TMS
|
, DATE_FORMAT(STR_TO_DATE(eul.LMT_YM ,'%Y%m'),'%Y-%m') AS LMT_YM
|
||||||
|
, esu1.USER_ID AS USER_ID
|
||||||
|
, SUM(FX_LMT_AMT + CFWD_AMT) AS START_AMOUNT
|
||||||
|
, ROUND(0) AS USE_AMOUNT
|
||||||
|
, ROUND(0) AS KRRR_AMOUNT
|
||||||
|
, ROUND(0) AS EXTSH_AMOUNT
|
||||||
|
FROM hubez_admin.EZ_USER_LMT eul
|
||||||
|
JOIN hubez_common.EZ_SVC_USER esu1 ON eul.USER_SEQ = esu1.USER_SEQ
|
||||||
|
WHERE esu1.USER_ID =#{serviceId} and eul.LMT_YM = DATE_FORMAT(now(), '%Y%m')
|
||||||
|
UNION ALL
|
||||||
|
(SELECT MAX(eud.COLEC_TMS) AS COLEC_TMS
|
||||||
,DATE_FORMAT(eud.USE_YM, '%Y-%m') AS LMT_YM
|
,DATE_FORMAT(eud.USE_YM, '%Y-%m') AS LMT_YM
|
||||||
,esu.USER_ID
|
,esu.USER_ID
|
||||||
,ROUND(SUM(IFNULL(eud.FX_LMT_AMT,0) + IFNULL(eud.CFWD_AMT,0))) AS START_AMOUNT
|
,ROUND(SUM(IFNULL(eud.FX_LMT_AMT,0) + IFNULL(eud.CFWD_AMT,0))) AS START_AMOUNT
|
||||||
@@ -365,10 +426,8 @@
|
|||||||
,ROUND(IFNULL(eud.CFWD_AMT,0)) AS KRRR_AMOUNT
|
,ROUND(IFNULL(eud.CFWD_AMT,0)) AS KRRR_AMOUNT
|
||||||
,ROUND(IFNULL(eud.EXTNC_AMT,0)) AS EXTSH_AMOUNT
|
,ROUND(IFNULL(eud.EXTNC_AMT,0)) AS EXTSH_AMOUNT
|
||||||
FROM hubez_admin.EZ_UTXNCOLEC_DTL eud
|
FROM hubez_admin.EZ_UTXNCOLEC_DTL eud
|
||||||
JOIN hubez_common.EZ_SUBS_INFO esi
|
JOIN hubez_common.EZ_SUBS_INFO esi ON eud.SUBS_ID = esi.SUBS_ID
|
||||||
ON eud.SUBS_ID = esi.SUBS_ID
|
JOIN hubez_common.EZ_SVC_USER esu ON esi.USER_SEQ = esu.USER_SEQ
|
||||||
JOIN hubez_common.EZ_SVC_USER esu
|
|
||||||
ON esi.USER_SEQ = esu.USER_SEQ
|
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
AND eud.USE_YM >= DATE_ADD(NOW(), INTERVAL -4 MONTH)
|
AND eud.USE_YM >= DATE_ADD(NOW(), INTERVAL -4 MONTH)
|
||||||
@@ -376,7 +435,7 @@
|
|||||||
]]>
|
]]>
|
||||||
AND esu.USER_ID = #{serviceId}
|
AND esu.USER_ID = #{serviceId}
|
||||||
GROUP BY eud.USE_YM, eud.SUBS_ID
|
GROUP BY eud.USE_YM, eud.SUBS_ID
|
||||||
ORDER BY eud.USE_YM DESC
|
ORDER BY eud.USE_YM DESC)
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectImUser" parameterType="kr.co.uplus.ez.common.data.ImUser" resultType="kr.co.uplus.ez.common.data.ImUser">
|
<select id="selectImUser" parameterType="kr.co.uplus.ez.common.data.ImUser" resultType="kr.co.uplus.ez.common.data.ImUser">
|
||||||
@@ -461,7 +520,7 @@
|
|||||||
SELECT
|
SELECT
|
||||||
USER_NM
|
USER_NM
|
||||||
,DATE_FORMAT(esu.REG_DT, '%Y-%m-%d') AS REG_DT
|
,DATE_FORMAT(esu.REG_DT, '%Y-%m-%d') AS REG_DT
|
||||||
,esu.USER_TP_CD AS USER_TYPE
|
,(SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD='SVCUSER_TP_CD' AND esu.USER_TP_CD = DTL_CD) AS USER_TYPE
|
||||||
,USER_ID
|
,USER_ID
|
||||||
,(SELECT USER_ID FROM hubez_common.EZ_SVC_USER where USER_SEQ = esu.PRNTS_USER_SEQ LIMIT 1) AS ADMIN_ID
|
,(SELECT USER_ID FROM hubez_common.EZ_SVC_USER where USER_SEQ = esu.PRNTS_USER_SEQ LIMIT 1) AS ADMIN_ID
|
||||||
,esu.USER_STTUS_CD AS USER_STAT
|
,esu.USER_STTUS_CD AS USER_STAT
|
||||||
@@ -798,7 +857,7 @@
|
|||||||
FROM hubez_admin.EZ_USER_LMT eul
|
FROM hubez_admin.EZ_USER_LMT eul
|
||||||
INNER JOIN hubez_common.EZ_SVC_USER esu
|
INNER JOIN hubez_common.EZ_SVC_USER esu
|
||||||
ON eul.USER_SEQ = esu.USER_SEQ
|
ON eul.USER_SEQ = esu.USER_SEQ
|
||||||
WHERE esu.USER_SEQ = #{userId}
|
WHERE esu.USER_ID = #{userId}
|
||||||
AND eul.LMT_YM = DATE_FORMAT(NOW(),'%Y%m')
|
AND eul.LMT_YM = DATE_FORMAT(NOW(),'%Y%m')
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
@@ -126,7 +126,6 @@
|
|||||||
INTO hubez_send.${tableName} (
|
INTO hubez_send.${tableName} (
|
||||||
CLIENT_KEY
|
CLIENT_KEY
|
||||||
, REQ_PRODUCT
|
, REQ_PRODUCT
|
||||||
, TRAFFIC_TYPE
|
|
||||||
, MSG_STATUS
|
, MSG_STATUS
|
||||||
, REQ_DATE
|
, REQ_DATE
|
||||||
, CALLBACK_NUMBER
|
, CALLBACK_NUMBER
|
||||||
@@ -137,7 +136,6 @@
|
|||||||
)value(
|
)value(
|
||||||
#{clientKey}
|
#{clientKey}
|
||||||
, 'SMS'
|
, 'SMS'
|
||||||
, 'real'
|
|
||||||
, 'ready'
|
, 'ready'
|
||||||
, NOW()
|
, NOW()
|
||||||
, '15445992'
|
, '15445992'
|
||||||
|
|||||||
@@ -37,7 +37,13 @@
|
|||||||
ON T1.GRP_CD = T2.GRP_CD
|
ON T1.GRP_CD = T2.GRP_CD
|
||||||
WHERE T1.GRP_CD = 'SNDBLCK_RSN_CD'
|
WHERE T1.GRP_CD = 'SNDBLCK_RSN_CD'
|
||||||
and T2.DTL_CD=esb.BLCK_RSN_CD) AS BLCK_RSN_NM
|
and T2.DTL_CD=esb.BLCK_RSN_CD) AS BLCK_RSN_NM
|
||||||
, IF(esb.BLCK_YN = 'Y', '차단', '미차단') AS BLCK_YN
|
, (SELECT
|
||||||
|
T2.DTL_CD_NM AS codeNm
|
||||||
|
FROM hubez_common.EZ_CD_GRP T1
|
||||||
|
LEFT JOIN hubez_common.EZ_CD_DTL T2
|
||||||
|
ON T1.GRP_CD = T2.GRP_CD
|
||||||
|
WHERE T1.GRP_CD = 'SNDBLCK_YN_CD'
|
||||||
|
AND T2.DTL_CD=esb.BLCK_YN) AS BLCK_YN
|
||||||
, esb.REG_ID
|
, esb.REG_ID
|
||||||
, esb.CHG_ID
|
, esb.CHG_ID
|
||||||
, DATE_FORMAT(esb.CHG_DT, '%Y-%m-%d') As LAST_CHG_DT
|
, DATE_FORMAT(esb.CHG_DT, '%Y-%m-%d') As LAST_CHG_DT
|
||||||
@@ -231,7 +237,13 @@
|
|||||||
SELECT
|
SELECT
|
||||||
emb.SEQ_NO
|
emb.SEQ_NO
|
||||||
, ebd.WORD
|
, ebd.WORD
|
||||||
, IF(emb.BLCK_YN = 'Y', '차단', '미차단') AS BLCK_YN
|
, (SELECT
|
||||||
|
T2.DTL_CD_NM AS codeNm
|
||||||
|
FROM hubez_common.EZ_CD_GRP T1
|
||||||
|
LEFT JOIN hubez_common.EZ_CD_DTL T2
|
||||||
|
ON T1.GRP_CD = T2.GRP_CD
|
||||||
|
WHERE T1.GRP_CD = 'SNDBLCK_YN_CD'
|
||||||
|
AND T2.DTL_CD=emb.BLCK_YN) AS BLCK_YN
|
||||||
, DATE_FORMAT(emb.CHG_DT , '%Y-%m-%d') AS LAST_CHG_DT
|
, DATE_FORMAT(emb.CHG_DT , '%Y-%m-%d') AS LAST_CHG_DT
|
||||||
,(
|
,(
|
||||||
SELECT
|
SELECT
|
||||||
@@ -329,7 +341,7 @@
|
|||||||
) VALUES
|
) VALUES
|
||||||
<foreach collection="list" item="item" index="i"
|
<foreach collection="list" item="item" index="i"
|
||||||
separator=",">
|
separator=",">
|
||||||
(#{item.seqNo}, #{item.word}, #{item.regId}, NOW() )
|
(#{item.seqNo},#{item.seqNm}, #{item.word}, #{item.regId}, NOW() )
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user