mirror of
http://git.mhez-qa.uplus.co.kr/hubez/hubez-admin.git
synced 2025-12-06 18:13:18 +09:00
어드민 수정건 수정
This commit is contained in:
2
.project
2
.project
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>hubeasy-admin</name>
|
||||
<name>hubez-admin</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project-modules id="moduleCoreId" project-version="1.5.0">
|
||||
<wb-module deploy-name="hubeasy-admin">
|
||||
<property name="context-root" value="hubeasy-admin"/>
|
||||
<wb-module deploy-name="hubez-admin">
|
||||
<property name="context-root" value="hubez-admin"/>
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/resources"/>
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/java"/>
|
||||
</wb-module>
|
||||
|
||||
@@ -107,6 +107,8 @@ dependencies {
|
||||
implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
|
||||
|
||||
|
||||
// LOCAL용.
|
||||
implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16' /* Log4JDBC */
|
||||
}
|
||||
|
||||
bootJar {
|
||||
|
||||
141
frontend/src/components/modal/calendar.vue
Normal file
141
frontend/src/components/modal/calendar.vue
Normal file
@@ -0,0 +1,141 @@
|
||||
<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>
|
||||
@@ -63,8 +63,8 @@
|
||||
<div class="group">
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">상세검색</label>
|
||||
<select name="" id="" v-model="grid.params.searchType" @keyup.enter="search">
|
||||
<option value="01" selected>고객사명</option>
|
||||
<select name="searchType" id="searchType" v-model="searchType" @keyup.enter="search">
|
||||
<option value="01">고객사명</option>
|
||||
<option value="02">이름</option>
|
||||
<option value="03">사업자등록번호(생년월일)</option>
|
||||
</select>
|
||||
@@ -169,6 +169,7 @@ export default {
|
||||
{ text: '50', value: 50},
|
||||
{ text: '100', value: 100}
|
||||
],
|
||||
searchType:'01',
|
||||
totalItems: 0,
|
||||
grid: {
|
||||
url: '/api/v1/bo/attractMgt/channelList',
|
||||
@@ -202,14 +203,15 @@ export default {
|
||||
{ name: 'custTyCd', header: '구분', align: 'center', width: '10%'},
|
||||
{ name: 'sndCnt', header: '전체발송건수', align: 'center', width: '11%',
|
||||
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;
|
||||
}
|
||||
}
|
||||
],
|
||||
noDataStr: '검색 결과가 없습니다.',
|
||||
params: {
|
||||
searchType: '',
|
||||
searchType: '01',
|
||||
searchType1: '',
|
||||
searchText: '',
|
||||
subsStDt: '',
|
||||
@@ -234,7 +236,9 @@ export default {
|
||||
this.getExcelHeader();
|
||||
this.setPeriodDay(0);
|
||||
|
||||
this.grid.params.subsSttusCd = '';
|
||||
// this.grid.params.subsSttusCd = '';
|
||||
// this.grid.params.searchType = '01';
|
||||
// this.$refs.searchType_.
|
||||
},
|
||||
destroyed() {
|
||||
this.grid.params.subsSttusCd = '';
|
||||
@@ -260,7 +264,8 @@ export default {
|
||||
search: function(isKeep) {
|
||||
|
||||
console.log('this.perPageCnt'+this.perPageCnt);
|
||||
//console.log(this.grid.params);
|
||||
console.log(this.grid.params);
|
||||
this.grid.params.searchType1 = this.searchType
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
@@ -335,7 +340,6 @@ export default {
|
||||
},
|
||||
channelDetail(props){
|
||||
console.log(props);
|
||||
//TODO 전달값 셋팅 필요.
|
||||
this.row.userId = props.loginId;
|
||||
this.row.userSeq = props.userSeq;
|
||||
this.$router.push({ name: 'channelDetail', params: this.row });
|
||||
@@ -343,11 +347,14 @@ export default {
|
||||
setCodeData() {
|
||||
// 상태 옵션 셋팅.
|
||||
api.commCode({'grpCd' : 'SUBS_STTUS_CD'}).then(response => {
|
||||
// grid.params.subsSttusCd
|
||||
this.subsSttusCdList = response.data.data.list;
|
||||
this.grid.params.subsSttusCd = '';
|
||||
});
|
||||
|
||||
api.commCode({'grpCd' : 'CUST_TY_CD'}).then(response => {
|
||||
this.custTyCdList = response.data.data.list;
|
||||
this.grid.params.custTyCd = '';
|
||||
});
|
||||
},
|
||||
setPeriodDay(day) {
|
||||
|
||||
@@ -327,10 +327,12 @@ export default {
|
||||
},
|
||||
setPeriodDay(day) {
|
||||
this.periodDay = day;
|
||||
this.endDate = new Date();
|
||||
this.startDate = moment(this.endDate)
|
||||
.subtract(day, 'day')
|
||||
.toDate();
|
||||
// this.endDate = new Date();
|
||||
// this.startDate = moment(this.endDate)
|
||||
// .subtract(day, 'day')
|
||||
// .toDate();
|
||||
this.initSetStartDate();
|
||||
this.initSetEndDate();
|
||||
|
||||
this.closeDate('start');
|
||||
this.closeDate('end');
|
||||
@@ -426,18 +428,6 @@ export default {
|
||||
async getExcelDataDown() {
|
||||
try {
|
||||
let response;
|
||||
// params: {
|
||||
// startMonth: '',
|
||||
// endMonth: '',
|
||||
// },
|
||||
// const params = {
|
||||
// startDt: this.grid.params.startDt,
|
||||
// endDt: this.grid.params.endDt,
|
||||
// searchType1: this.grid.params.searchType1,
|
||||
// searchType2: this.grid.params.searchType2,
|
||||
// searchType3: this.grid.params.searchType3,
|
||||
// searchText1: this.grid.params.searchText1
|
||||
// };
|
||||
|
||||
response = await calcMgtApi.calcListExcel(this.grid.params);
|
||||
|
||||
@@ -451,6 +441,18 @@ export default {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
initSetStartDate(){
|
||||
let initStartDate = new Date();
|
||||
initStartDate.setMonth(Number(moment(initStartDate).format('MM')) -4);
|
||||
this.startDate = initStartDate;
|
||||
console.log(moment(this.startDate).format('YYYY-MM-DD'));
|
||||
},
|
||||
initSetEndDate(){
|
||||
let initEndDate = new Date();
|
||||
initEndDate.setMonth(Number(moment(initEndDate).format('MM')) -2);
|
||||
this.endDate = initEndDate;
|
||||
console.log(moment(this.endDate).format('YYYY-MM-DD'));
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -10,7 +10,7 @@
|
||||
<div class="search_wrap">
|
||||
<div class="select_box">
|
||||
<label for="stat" class="label">상태</label>
|
||||
<select name="" id="stat" v-model="grid.params.searchType1" @keyup.enter="search">
|
||||
<select name="" id="stat" v-model="searchType1" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="Y">사용</option>
|
||||
<option value="N">폐기</option>
|
||||
@@ -18,7 +18,7 @@
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="searchType" class="label">상세검색</label>
|
||||
<select name="" id="searchType" v-model="grid.params.searchType2" @keyup.enter="search">
|
||||
<select name="" id="searchType" v-model="searchType2" @keyup.enter="search">
|
||||
<option value="custNm" selected="selected">고객사명</option>
|
||||
<option value="bizNo">사업자번호</option>
|
||||
<option value="tmpltNm">템플릿명</option>
|
||||
@@ -32,7 +32,7 @@
|
||||
</div>
|
||||
</form>
|
||||
<div class="info">
|
||||
<div class="count">총 <span>{{ totalItems }}</span>건
|
||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||
<div class="select_box NumberSe">
|
||||
<select name="" id="perPage" v-model="grid.pagePerRows" @keyup.enter="search">
|
||||
<option value="20">20</option>
|
||||
@@ -172,6 +172,8 @@ export default {
|
||||
cate2Code: "",
|
||||
totalItems: 0,
|
||||
pageType: 'CHANN',
|
||||
searchType1:'',
|
||||
searchType2:'custNm',
|
||||
|
||||
// 테이블 리스트 데이터
|
||||
perPageCnt: 50,
|
||||
@@ -199,15 +201,15 @@ export default {
|
||||
],
|
||||
|
||||
columns: [
|
||||
{ name: 'no', header: 'NO', align: 'center', width: 40 },
|
||||
{ name: 'custNm', header: '고객사명', align: 'left', width: 120 },
|
||||
{ name: 'bregNo', header: '사업자번호', align: 'center', width: 120,renderer: {type: customBRegNo}},
|
||||
{ name: 'tmpltCd', header: '템플릿코드', align: 'center', width: 120},
|
||||
{ name: 'tmpltNm', header: '템플릿명', align: 'center', width: 120},
|
||||
{ name: 'tmpltType', header: '템플릿 유형', align: 'center', width: 120,renderer: {type: customTmpltType}},
|
||||
{ name: 'stat', header: '상태(반려사유)', align: 'center', width: 120,renderer: {type: customStat}},
|
||||
{ name: 'sendProfile', header: '발신프로필', align: 'center', width: 120},
|
||||
{ name: 'lastChgDt', header: '최종수정일', width: 120, cls: 'td_line' }
|
||||
{ name: 'no', header: 'NO', align: 'center', width: '4%' },
|
||||
{ name: 'custNm', header: '고객사명', align: 'center', width: '12%' },
|
||||
{ name: 'bregNo', header: '사업자번호', align: 'center', width: '12%',renderer: {type: customBRegNo}},
|
||||
{ name: 'tmpltCd', header: '템플릿코드', align: 'center', width: '12%'},
|
||||
{ name: 'tmpltNm', header: '템플릿명', align: 'center', width: '12%'},
|
||||
{ name: 'tmpltType', header: '템플릿 유형', align: 'center', width: '12%',renderer: {type: customTmpltType}},
|
||||
{ name: 'stat', header: '상태(반려사유)', align: 'center', width: '12%',renderer: {type: customStat}},
|
||||
{ name: 'sendProfile', header: '발신프로필', align: 'center', width: '125'},
|
||||
{ name: 'lastChgDt', header: '최종수정일', width: '12%', cls: 'td_line' }
|
||||
],
|
||||
noDataStr: '검색 결과가 없습니다.',
|
||||
params: {
|
||||
@@ -258,6 +260,9 @@ export default {
|
||||
methods: {
|
||||
search: function(isKeep) {
|
||||
console.log(this.grid.params);
|
||||
this.grid.params.searchType1 = this.searchType1
|
||||
this.grid.params.searchType2 = this.searchType2
|
||||
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
<div>
|
||||
<div class="dimmed modal33" @click="excelPopClose();"></div>
|
||||
<div class="popup-wrap modal33">
|
||||
<!-- 사용자 ID 대량 생성 -->
|
||||
<div class="popup modal33 popup_form">
|
||||
<div class="pop-head">
|
||||
<h3 class="pop-tit">사용자 ID 대량 생성</h3>
|
||||
@@ -17,18 +16,17 @@
|
||||
<tr>
|
||||
<th>사용자 ID 업로드</th>
|
||||
<td>
|
||||
<div class="pop-btn2 bulk">
|
||||
<button class="btn-default" @click="sampleDown">샘플 다운로드</button>
|
||||
<div class="popup-btn2 bulk">
|
||||
<input type="file" ref="file" style="display: none" @change="readFile" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/>
|
||||
<button class="button grey" @click="$refs.file.click()">파일 업로드</button>
|
||||
<button class="btn-default" @click="sampleDown">샘플 다운로드</button>
|
||||
<button class="button btn-p2color" @click="$refs.file.click()">파일 업로드</button>
|
||||
</div>
|
||||
<p class="file" id="uploadFile">
|
||||
</p>
|
||||
<p class="file" id="uploadFile"></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="pop-btn2">
|
||||
<div class="popup-btn2">
|
||||
<button class="btn-pcolor" @click="saveExcel">저장</button>
|
||||
<button class="btn-default" @click="excelPopClose">취소</button>
|
||||
</div>
|
||||
|
||||
@@ -4,11 +4,62 @@
|
||||
<div class="dimmed memberUpdate" @click="memberUpdateModalClose();"></div>
|
||||
<div class="popup-wrap memberUpdate">
|
||||
<!-- 수정 확인 -->
|
||||
<div class="popup memberUpdate popup_form">
|
||||
<!-- <div class="popup memberUpdate popup_form">-->
|
||||
<!-- <div class="pop-head">-->
|
||||
<!-- <h3 class="pop-tit">사용자 ID 수정</h3>-->
|
||||
<!-- </div>-->
|
||||
<!-- <form autocomplete="off">-->
|
||||
<!-- <table>-->
|
||||
<!-- <tbody>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <th>관리자 ID</th>-->
|
||||
<!-- <td>{{adminId}}</td>-->
|
||||
<!-- </tr>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <th>ID</th>-->
|
||||
<!-- <td>{{userId}}</td>-->
|
||||
<!-- </tr>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <th>비밀번호</th>-->
|
||||
<!-- <td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8" maxlength="16" ref="_pwd1" v-model.trim="userPwd1"></td>-->
|
||||
<!-- </tr>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <th>비밀번호 확인</th>-->
|
||||
<!-- <td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8" maxlength="16" ref="_pwd2" v-model.trim="userPwd2"></td>-->
|
||||
<!-- </tr>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <th>이름</th>-->
|
||||
<!-- <td><input type="text" v-model.trim="userNm" ref="_userNm"></td>-->
|
||||
<!-- </tr>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <th>휴대폰번호</th>-->
|
||||
<!-- <td><input type="text" v-model.trim="mdn" ref="_phone"></td>-->
|
||||
<!-- </tr>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <th>이메일</th>-->
|
||||
<!-- <td><input type="email" v-model.trim="email" ref="_email"></td>-->
|
||||
<!-- </tr>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <th class="center">상태</th>-->
|
||||
<!-- <td>-->
|
||||
<!-- <input type="radio" name="userStateUpdate" value="01" id="user_popup_update_radio1" v-model="userStat">-->
|
||||
<!-- <label for="user_popup_update_radio1">사용</label>-->
|
||||
<!-- <input type="radio" name="userStateUpdate" value="02" id="user_popup_update_radio2" v-model="userStat">-->
|
||||
<!-- <label for="user_popup_update_radio2">정지</label>-->
|
||||
<!-- </td>-->
|
||||
<!-- </tr>-->
|
||||
<!-- </tbody>-->
|
||||
<!-- </table>-->
|
||||
<!-- </form>-->
|
||||
<!-- <div class="pop-btn2">-->
|
||||
<!-- <button class="btn-pcolor" @click="memberUpdateConfirm();">저장</button>-->
|
||||
<!-- <button class="btn-default" @click="memberUpdateModalClose();">취소</button>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<div class="popup modal32 popup_form memberUpdate">
|
||||
<div class="pop-head">
|
||||
<h3 class="pop-tit">사용자 ID 수정</h3>
|
||||
</div>
|
||||
<form autocomplete="off">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -50,13 +101,11 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
<div class="pop-btn2">
|
||||
<div class="popup-btn2">
|
||||
<button class="btn-pcolor" @click="memberUpdateConfirm();">저장</button>
|
||||
<button class="btn-default" @click="memberUpdateModalClose();">취소</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<validation-confirm-pop ref="validationConfirmPopModal"> </validation-confirm-pop>
|
||||
<common-modal ref="commmonModal"></common-modal>
|
||||
|
||||
@@ -70,7 +119,6 @@ import custMgtApi from "../service/custMgtApi.js";
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
import ValidationConfirmPop from '../components/ValidationConfirmPop.vue';
|
||||
import lodash from "lodash";
|
||||
//import commonModal from "@/components/modal/commonModal";
|
||||
import commonModal from "../components/commonModal";
|
||||
|
||||
export default {
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
<template>
|
||||
<!-- <div class="wrap bg-wrap"> -->
|
||||
<div>
|
||||
<div class="dimmed memberInsert" @click="memberInsertModalClose();"></div>
|
||||
<div class="popup-wrap memberInsert">
|
||||
<!-- 수정 확인 -->
|
||||
<div class="popup memberInsert popup_form">
|
||||
<div class="popup modal31 popup_form memberInsert">
|
||||
<div class="pop-head">
|
||||
<h3 class="pop-tit">사용자 ID 생성</h3>
|
||||
</div>
|
||||
<form autocomplete="off">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -25,14 +22,14 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th>휴대폰번호</th>
|
||||
<td><input type="text" v-model.trim="mdn" ref="_phone"></td>
|
||||
<td><input type="text" placeholder="- 자 제외 숫자만 입력" v-model.trim="mdn" ref="_phone"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>이메일</th>
|
||||
<td><input type="email" v-model.trim="email" ref="_email"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="center">상태</th>
|
||||
<th class="center">ID 잠금</th>
|
||||
<td>
|
||||
<input type="radio" name="userStateInsert" value="01" id="user_popup_insert_radio1" v-model="stat">
|
||||
<label for="user_popup_insert_radio1">사용</label>
|
||||
@@ -42,17 +39,15 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
<div class="pop-btn2">
|
||||
<div class="popup-btn2">
|
||||
<button class="btn-pcolor" @click="memberInsertConfirm();">저장</button>
|
||||
<button class="btn-default" @click="memberInsertModalClose();">취소</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<validation-confirm-pop ref="validationConfirmPopModal"> </validation-confirm-pop>
|
||||
<common-modal ref="commmonModal"></common-modal>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -61,7 +56,6 @@ import custMgtApi from "../service/custMgtApi.js";
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
import ValidationConfirmPop from '../components/ValidationConfirmPop.vue';
|
||||
import lodash from "lodash";
|
||||
//import commonModal from "@/components/modal/commonModal";
|
||||
import commonModal from "../components/commonModal";
|
||||
|
||||
export default {
|
||||
|
||||
@@ -9,29 +9,6 @@
|
||||
<h3 class="pop-tit">전체 메모보기</h3>
|
||||
</div>
|
||||
<table class="table-c">
|
||||
<!--
|
||||
<thead>
|
||||
<tr>
|
||||
<th>내용</th>
|
||||
<th>작성자</th>
|
||||
<th>작성일</th>
|
||||
<th>삭제</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="memo">작성한 메모 내용이 노출됩니다. <br/>
|
||||
해당영역은 최대 5줄까지 노출되며 이후 우측 스크롤이 생성됩니다.<br/>
|
||||
작성한 메모 내용이 노출됩니다. <br/>
|
||||
해당영역은 최대 5줄까지 노출되며 이후 우측 스크롤이 생성됩니다.<br/>
|
||||
작성한 메모 내용이 노출됩니다.</td>
|
||||
<td>관리자</td>
|
||||
<td>2022-03-10</td>
|
||||
<td><button type="button" class="button white btn-a">삭제</button></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
-->
|
||||
|
||||
<custom-grid
|
||||
ref="table"
|
||||
:totalItems="'totalItems'"
|
||||
@@ -47,8 +24,7 @@
|
||||
></custom-grid>
|
||||
|
||||
</table>
|
||||
<div class="pop-btn2">
|
||||
|
||||
<div class="popup-btn2">
|
||||
<button class="btn-default" @click="memoTotalModalClose();">닫기</button>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -137,6 +137,9 @@
|
||||
</td>
|
||||
<td><button type="button" class="button white btn-a" @click="memberUpdatePopOpen(option.userId);">수정</button></td>
|
||||
</tr>
|
||||
<tr v-if="list.length === 0">
|
||||
<td colspan="7">등록된 사용자 정보가 없습니다.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
</div>
|
||||
<div class="select_box id">
|
||||
<label for="right" class="label">상태</label>
|
||||
<select name="" id="" v-model="grid.params.searchType1">
|
||||
<select name="" id="" v-model="searchType1">
|
||||
<option value="" selected>전체</option>
|
||||
<option v-for="(option, i) in statType" v-bind:value="option.code" v-bind:key="i">
|
||||
{{ option.codeNm }}
|
||||
@@ -51,7 +51,7 @@
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">구분</label>
|
||||
<select name="" id="" v-model="grid.params.searchType2">
|
||||
<select name="" id="" v-model="searchType2">
|
||||
<option value="" selected>전체</option>
|
||||
<option value="01" >관리자</option>
|
||||
<option value="02" >사용자</option>
|
||||
@@ -62,7 +62,7 @@
|
||||
<div class="group">
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">상세검색</label>
|
||||
<select name="" id="" v-model="grid.params.searchType3">
|
||||
<select name="" id="" v-model="searchType3">
|
||||
<option value="" selected>전체</option>
|
||||
<option value="01" selected>ID</option>
|
||||
<option value="02">이름</option>
|
||||
@@ -156,7 +156,9 @@ export default {
|
||||
|
||||
statType: [],
|
||||
userType: [],
|
||||
|
||||
searchType1:'',
|
||||
searchType2:'',
|
||||
searchType3:'',
|
||||
row:{},
|
||||
|
||||
// 테이블 리스트 데이터
|
||||
@@ -265,6 +267,9 @@ export default {
|
||||
this.grid.params.endDt = moment(this.endDate).format('YYYYMMDD');
|
||||
console.log('this.perPageCnt'+this.perPageCnt);
|
||||
console.log(this.grid.params);
|
||||
this.grid.params.searchType1 = this.searchType1;
|
||||
this.grid.params.searchType2 = this.searchType2;
|
||||
this.grid.params.searchType3 = this.searchType3;
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
|
||||
@@ -42,25 +42,21 @@
|
||||
</div>
|
||||
<div class="select_box id">
|
||||
<label for="right" class="label">상태</label>
|
||||
<select name="" id="" v-model="grid.params.searchType1" @keyup.enter="search">
|
||||
<select name="" id="" v-model="searchType1" @keyup.enter="search">
|
||||
<option value="" selected>전체</option>
|
||||
<option value="" >사용</option>
|
||||
<option value="" >미납중지</option>
|
||||
<option value="" >사용중지</option>
|
||||
<option value="" >해지</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> -->
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">유치채널</label>
|
||||
<select name="" id="" v-model="grid.params.searchType2" @keyup.enter="search">
|
||||
<select name="" id="" v-model="searchType2" @keyup.enter="search">
|
||||
<option value="" selected>전체</option>
|
||||
<option value="" >고객셀프가입</option>
|
||||
<option value="" >대리점</option>
|
||||
<option value="" >고객센터</option>
|
||||
<option value="" >직접영업</option>
|
||||
<option value="01" >고객셀프가입</option>
|
||||
<option value="02" >대리점</option>
|
||||
<option value="03" >고객센터</option>
|
||||
<option value="04" >직접영업</option>
|
||||
<!-- <option v-for="(option, i) in userType" v-bind:value="option.code" v-bind:key="i">
|
||||
{{ option.codeNm }}
|
||||
</option> -->
|
||||
@@ -70,7 +66,7 @@
|
||||
<div class="group">
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">상세검색</label>
|
||||
<select name="" id="" v-model="grid.params.searchType3" @keyup.enter="search">
|
||||
<select name="" id="" v-model="searchType3" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">고객사명</option>
|
||||
<option value="02">가입번호</option>
|
||||
@@ -166,7 +162,9 @@ export default {
|
||||
row:{},
|
||||
|
||||
pageType: 'SUBS',
|
||||
|
||||
searchType1:'',
|
||||
searchType2:'',
|
||||
searchType3:'',
|
||||
// 테이블 리스트 데이터
|
||||
perPageCnt: 50,
|
||||
options: [
|
||||
@@ -276,6 +274,11 @@ export default {
|
||||
this.grid.params.endDt = moment(this.endDate).format('YYYYMMDD');
|
||||
console.log('this.perPageCnt'+this.perPageCnt);
|
||||
console.log(this.grid.params);
|
||||
|
||||
this.grid.params.searchType1 = this.searchType1
|
||||
this.grid.params.searchType2 = this.searchType2
|
||||
this.grid.params.searchType3 = this.searchType3
|
||||
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
|
||||
188
frontend/src/modules/mntrng/components/commonModal.vue
Normal file
188
frontend/src/modules/mntrng/components/commonModal.vue
Normal file
@@ -0,0 +1,188 @@
|
||||
<template>
|
||||
<!-- <div class="wrap bg-wrap"> -->
|
||||
<div>
|
||||
|
||||
<div class="dimmed alertModal" @click="alertModalCancel();"></div>
|
||||
<div class="popup-wrap alertModal">
|
||||
<!-- 로그인실패: 확인 -->
|
||||
<div class="popup alertModal">
|
||||
<div class="pop-head">
|
||||
<h3 class="pop-tit">{{title}}</h3>
|
||||
</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: '',
|
||||
targetFocus: '',
|
||||
}
|
||||
},
|
||||
methods :{
|
||||
alertModalOpen(props){
|
||||
console.log('>>>>>>>>>> alertModalOpen');
|
||||
console.log(props.msg1);
|
||||
this.title = props.title;
|
||||
this.msg1 = props.msg1;
|
||||
this.msg2 = props.msg2;
|
||||
this.msg3 = props.msg3;
|
||||
this.msg4 = props.msg4;
|
||||
|
||||
var dimmed = document.getElementsByClassName('alertModal');
|
||||
for(var i = 0; i < dimmed.length; i++){
|
||||
dimmed[i].style.display = 'block';
|
||||
}
|
||||
|
||||
},
|
||||
alertModalClose(){
|
||||
var dimmed = document.getElementsByClassName('alertModal');
|
||||
for(var i = 0; i < dimmed.length; i++){
|
||||
dimmed[i].style.display = 'none';
|
||||
}
|
||||
this.$parent.checkFocus();
|
||||
},
|
||||
alertModalCancel(){
|
||||
var dimmed = document.getElementsByClassName('alertModal');
|
||||
for(var i = 0; i < dimmed.length; i++){
|
||||
dimmed[i].style.display = 'none';
|
||||
}
|
||||
this.$parent.checkFocus();
|
||||
},
|
||||
// 모달 오픈
|
||||
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> -->
|
||||
@@ -92,7 +92,8 @@ import customGrid from '@/components/CustomGrid';
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
import moment from 'moment';
|
||||
import xlsx from '@/common/excel';
|
||||
import commonModal from "@/components/modal/commonModal";
|
||||
//import commonModal from "@/components/modal/commonModal";
|
||||
import commonModal from "../components/commonModal";
|
||||
|
||||
class CustomATagRenderer {
|
||||
constructor(props) {
|
||||
@@ -203,13 +204,17 @@ export default {
|
||||
// this.setCodeData();
|
||||
// this.getExcelHeader();
|
||||
this.setPeriodDay(0);
|
||||
this.grid.params.searchType1 = 'ALL';
|
||||
this.grid.params.searchType1 = '';
|
||||
},
|
||||
destroyed() {
|
||||
this.grid.params.searchType1 = '';
|
||||
this.grid.params.searchText1 = '';
|
||||
this.grid.params.searchText2 = '';
|
||||
this.grid.params.searchText3 = '';
|
||||
|
||||
},
|
||||
mounted() {
|
||||
this.grid.params.searchType1 = 'ALL';
|
||||
this.grid.params.searchType1 = '';
|
||||
|
||||
let page = 1;
|
||||
// 페이지 정보 및 검색 조건
|
||||
@@ -240,7 +245,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
search: function(isKeep) {
|
||||
this.doValidate();
|
||||
if(this.doValidate()){
|
||||
this.grid.params.sentDate = moment(this.startDate).format('YYYYMMDD');
|
||||
this.grid.params.reqChennel = this.grid.params.searchType1;
|
||||
this.grid.params.phone = this.grid.params.searchText1;
|
||||
@@ -249,6 +254,7 @@ export default {
|
||||
console.log(this.grid.params);
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
}
|
||||
},
|
||||
setPeriodDay(day) {
|
||||
this.periodDay = day;
|
||||
@@ -324,20 +330,29 @@ export default {
|
||||
if(this.isNull(this.grid.params.searchText1)) {
|
||||
this.row.title = '발송내역';
|
||||
this.row.msg1 = '수신번호를 입력해 주세요.';
|
||||
this.row.focusTaget = '1';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._searchText1.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 발신번호 필수입력체크
|
||||
if(this.isNull(this.grid.params.searchText2)) {
|
||||
this.row.title = '발송내역';
|
||||
this.row.msg1 = '수신번호를 입력해 주세요.';
|
||||
this.row.msg1 = '발신번호를 입력해 주세요.';
|
||||
this.row.focusTaget = '2';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._searchText2.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
},
|
||||
checkFocus(){
|
||||
if(this.row.focusTaget === '1'){
|
||||
this.$refs._searchText1.focus();
|
||||
} else if(this.row.focusTaget === '2'){
|
||||
this.$refs._searchText2.focus();
|
||||
}
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
@@ -14,6 +14,7 @@ export default [
|
||||
path: '/riskMgt/sendNum/zezNum',
|
||||
component: ZezNum,
|
||||
name: 'zezNum',
|
||||
props: true,
|
||||
meta: { public: true }
|
||||
},
|
||||
{
|
||||
@@ -26,6 +27,7 @@ export default [
|
||||
path: '/riskMgt/sendNum/all',
|
||||
component: All,
|
||||
name: 'all',
|
||||
props: true,
|
||||
meta: { public: true }
|
||||
},
|
||||
|
||||
|
||||
@@ -29,23 +29,23 @@
|
||||
<button type="button" class="button grey btn-a" @click="todayDate">오늘</button>
|
||||
<div class="select_box id">
|
||||
<label for="right" class="label">차단사유</label>
|
||||
<select name="" id="" v-model="grid.params.blckRsnCd">
|
||||
<select name="" id="" v-model="blckRsnCd">
|
||||
<option value="" selected>전체</option>
|
||||
<option value="">일반</option>
|
||||
<option value="">대출</option>
|
||||
<option value="">의약품</option>
|
||||
<option value="">도박</option>
|
||||
<option value="">스미싱</option>
|
||||
<option value="">기타</option>
|
||||
<option value="01">일반</option>
|
||||
<option value="02">대출</option>
|
||||
<option value="03">의약품</option>
|
||||
<option value="04">도박</option>
|
||||
<option value="05">스미싱</option>
|
||||
<option value="06">기타</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">차단구분</label>
|
||||
<select name="" id="" v-model="grid.params.blckTpCd">
|
||||
<select name="" id="" v-model="blckTpCd">
|
||||
<option value="" selected>전체</option>
|
||||
<option value="">발신번호차단</option>
|
||||
<option value="">메시지차단</option>
|
||||
<option value="">080수신번호차단</option>
|
||||
<option value="01">발신번호차단</option>
|
||||
<option value="02">메시지차단</option>
|
||||
<option value="03">080수신번호차단</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -60,10 +60,10 @@
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">상세검색</label>
|
||||
<select name="" id="" v-model="grid.params.searchType1">
|
||||
<option value="" selected>고객사명</option>
|
||||
<option value="">사업자번호</option>
|
||||
<option value="">발송ID</option>
|
||||
<select name="" id="" v-model="searchType1">
|
||||
<option value="01" selected>고객사명</option>
|
||||
<option value="02">사업자번호</option>
|
||||
<option value="03">발송ID</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input_box">
|
||||
@@ -74,7 +74,7 @@
|
||||
</div>
|
||||
</form>
|
||||
<div class="info">
|
||||
<div class="count">총 <span>{{ totalItems }}</span>건
|
||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||
<div class="select_box NumberSe">
|
||||
<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>
|
||||
@@ -150,6 +150,9 @@ export default {
|
||||
],
|
||||
statType: [],
|
||||
userType: [],
|
||||
blckRsnCd:'',
|
||||
blckTpCd:'',
|
||||
searchType1:'01',
|
||||
row:{},
|
||||
grid: {
|
||||
url: '/api/v1/bo/riskMgt/web/intrcpList',
|
||||
@@ -224,6 +227,7 @@ export default {
|
||||
searchText1: ''
|
||||
}
|
||||
});
|
||||
this.startDate = '';
|
||||
},
|
||||
created(){
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
@@ -246,10 +250,9 @@ export default {
|
||||
search: function(isKeep) {
|
||||
console.log(this.grid.params);
|
||||
this.grid.params.blckDt = moment(this.startDate).format('YYYYMMDD');
|
||||
this.grid.params.blckRsnCd = this.grid.params.searchType1;
|
||||
this.grid.params.blckTpCd = this.grid.params.searchText1;
|
||||
this.grid.params.sndrno = this.grid.params.searchText2;
|
||||
this.grid.params.custNm = this.grid.params.searchText3;
|
||||
this.grid.params.blckTpCd = this.blckTpCd
|
||||
this.grid.params.blckRsnCd = this.blckRsnCd
|
||||
this.grid.params.searchType1 = this.searchType1
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
@@ -302,7 +305,8 @@ export default {
|
||||
},
|
||||
//회원 상세페이지로 이동
|
||||
custDetail(props) {
|
||||
this.row.custNm = props.serviceId;
|
||||
//this.row.custNm = props.serviceId;
|
||||
this.row.serviceId = props.serviceId;
|
||||
this.$router.push({ name: 'subsDetail', params: this.row });
|
||||
},
|
||||
calendarCalbackFnc(year, month, day){
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="blckRsnCd" class="label">차단사유</label>
|
||||
<select name="" id="blckRsnCd" v-model="grid.params.blckRsnCd" @keyup="search">
|
||||
<select name="" id="blckRsnCd" v-model="blckRsnCd" @keyup="search">
|
||||
<option value="" selected>전체</option>
|
||||
<option value="01">일반</option>
|
||||
<option value="02">대출</option>
|
||||
@@ -29,7 +29,7 @@
|
||||
<div class="group">
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">차단여부</label>
|
||||
<select name="" id="" v-model="grid.params.blckYn">
|
||||
<select name="" id="" v-model="blckYn">
|
||||
<option value="" selected>전체</option>
|
||||
<option value="Y">차단</option>
|
||||
<option value="N">해제</option>
|
||||
@@ -37,7 +37,7 @@
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">발송타입</label>
|
||||
<select name="" id="" v-model="grid.params.sndblckTpCd">
|
||||
<select name="" id="" v-model="sndblckTpCd">
|
||||
<option value="" selected>전체</option>
|
||||
<option value="01">공용</option>
|
||||
<option value="02">문자</option>
|
||||
@@ -126,6 +126,9 @@ export default {
|
||||
return {
|
||||
totalItems: 0,
|
||||
perPageCnt: 50,
|
||||
blckRsnCd:'',
|
||||
blckYn:'',
|
||||
sndblckTpCd:'',
|
||||
options: [
|
||||
{ text: '20', value: 20},
|
||||
{ text: '50', value: 50},
|
||||
@@ -133,8 +136,8 @@ export default {
|
||||
],
|
||||
grid: {
|
||||
url: '/api/v1/bo/riskMgt/sendNum/intrcpList',
|
||||
pagePerRows: 20,
|
||||
perPage: 20,
|
||||
pagePerRows: 50,
|
||||
perPage: 50,
|
||||
pagination: true,
|
||||
isCheckbox: false,
|
||||
initialRequest: false,
|
||||
@@ -206,6 +209,11 @@ export default {
|
||||
methods: {
|
||||
search: function(isKeep) {
|
||||
console.log(this.grid.params);
|
||||
this.grid.params.blckRsnCd = this.blckRsnCd
|
||||
this.grid.params.blckYn = this.blckYn
|
||||
this.grid.params.sndblckTpCd = this.sndblckTpCd
|
||||
this.grid.pagePerRows = this.perPageCnt
|
||||
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="blckRsnCd" class="label">차단사유</label>
|
||||
<select name="" id="blckRsnCd" v-model="grid.params.blckRsnCd" @keyup="search">
|
||||
<select name="" id="blckRsnCd" v-model="blckRsnCd" @keyup="search">
|
||||
<option value="" selected>전체</option>
|
||||
<option value="">일반</option>
|
||||
<option value="">대출</option>
|
||||
<option value="">의약품</option>
|
||||
<option value="">도박</option>
|
||||
<option value="">스미싱</option>
|
||||
<option value="">기타</option>
|
||||
<option value="01">일반</option>
|
||||
<option value="02">대출</option>
|
||||
<option value="03">의약품</option>
|
||||
<option value="04">도박</option>
|
||||
<option value="05">스미싱</option>
|
||||
<option value="06">기타</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input_box">
|
||||
@@ -32,7 +32,7 @@
|
||||
</div>
|
||||
</form>
|
||||
<div class="info">
|
||||
<div class="count">총 <span> {{ totalItems}} </span>건
|
||||
<div class="count">총 <span> {{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}} </span>건
|
||||
<div class="select_box NumberSe">
|
||||
<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>
|
||||
@@ -106,6 +106,7 @@ export default {
|
||||
{ text: '50', value: 50},
|
||||
{ text: '100', value: 100}
|
||||
],
|
||||
blckRsnCd:'',
|
||||
grid: {
|
||||
url: '/api/v1/bo/riskMgt/msg/intrcpList',
|
||||
perPageRows: 20,
|
||||
@@ -177,6 +178,9 @@ export default {
|
||||
methods: {
|
||||
search: function(isKeep) {
|
||||
console.log(this.grid.params);
|
||||
this.grid.params.blckRsnCd = this.blckRsnCd;
|
||||
|
||||
this.grid.pagePerRows = this.perPageCnt
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
<h3 class="title">080 수신번호 차단</h3>
|
||||
<p class="breadcrumb">리스크관리 > 080 수신번호 차단</p>
|
||||
</div>
|
||||
<form autocomplete="off" class="search_form">
|
||||
<!-- <form autocomplete="off" class="search_form"> -->
|
||||
<div class="search_form">
|
||||
<div class="search_wrap">
|
||||
<div class="input_box">
|
||||
<label for="search" class="label">고객사</label>
|
||||
@@ -23,7 +24,8 @@
|
||||
</div>
|
||||
<button type="button" class="button grey" @click="search">조회</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- </form> -->
|
||||
<div class="info">
|
||||
<div class="count">총 <span> {{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }} </span>건
|
||||
<div class="select_box NumberSe">
|
||||
@@ -58,7 +60,7 @@
|
||||
import customGrid from '@/components/CustomGrid';
|
||||
import commonModal from "@/components/modal/commonModal";
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
//import api from '../service/api';
|
||||
|
||||
class CustomATagRenderer {
|
||||
constructor(props) {
|
||||
this.props = props;
|
||||
@@ -75,11 +77,13 @@ class CustomATagRenderer {
|
||||
|
||||
addEvent(selEl) {
|
||||
selEl.addEventListener("click", () => {
|
||||
console.log(this.props)
|
||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
||||
callback(this.props);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
class customBRegNo {
|
||||
constructor(props) {
|
||||
this.props = props;
|
||||
@@ -139,7 +143,8 @@ export default {
|
||||
, options: {
|
||||
callback: this.memberDetail,
|
||||
}
|
||||
} },
|
||||
}
|
||||
},
|
||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: '15%', renderer: {type: customBRegNo}},
|
||||
{ name: 'authcd080', header: '인증코드', align: 'center', width: '15%'},
|
||||
{ name: 'rcvblckno', header: '수신번호', align: 'center', width: '15%'},
|
||||
@@ -164,7 +169,7 @@ export default {
|
||||
|
||||
},
|
||||
created(){
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
// const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
},
|
||||
mounted() {
|
||||
let page = 1;
|
||||
|
||||
@@ -17,6 +17,10 @@ const apprDetail = (params) => {
|
||||
return httpClient.post('/api/v1/bo/sendNumMgt/apprDetail', params, {withCredentials: false});
|
||||
}
|
||||
|
||||
const deleteNumber = (params) => {
|
||||
return httpClient.post('/api/v1/bo/sendNumMgt/deleteNumber', params, {withCredentials: false});
|
||||
}
|
||||
|
||||
// 사업자가 등록 요청.
|
||||
const insertNumber = (adminId, custNm, bRegNo, nmineeDivCd, numberInputs, bizrAuthYn, custSeq) => {
|
||||
let formData = new FormData();
|
||||
@@ -113,4 +117,5 @@ export default {
|
||||
insertNumber2,
|
||||
apprDetail,
|
||||
updateAppr,
|
||||
deleteNumber,
|
||||
}
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
<div class="group">
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">상태</label>
|
||||
<select name="" id="" v-model="grid.params.searchType1" @keyup.enter="search">
|
||||
<option value="" selected>전체</option>
|
||||
<select name="" id="" v-model="searchType1" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">승인대기</option>
|
||||
<option value="02">처리완료</option>
|
||||
</select>
|
||||
@@ -23,8 +23,8 @@
|
||||
</div>
|
||||
<div class="select_box id">
|
||||
<label for="right" class="label">명의자 구분</label>
|
||||
<select name="" id="" v-model="grid.params.searchType2" @keyup.enter="search">
|
||||
<option value="" selected>전체</option>
|
||||
<select name="" id="" v-model="searchType2" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">사업자</option>
|
||||
<option value="02">타사업자</option>
|
||||
</select>
|
||||
@@ -41,7 +41,7 @@
|
||||
<div class="info">
|
||||
<div class="count">총 <span>{{ totalItems }}</span>건
|
||||
<div class="select_box NumberSe">
|
||||
<select name="" id="" v-model="grid.pagePerRows" @keyup.enter="search">
|
||||
<select name="" id="" v-model="perPageCnt" @keyup.enter="search">
|
||||
<option value="20">20</option>
|
||||
<option value="50" selected>50</option>
|
||||
<option value="100">100</option>
|
||||
@@ -128,6 +128,8 @@ export default {
|
||||
totalItems: 0,
|
||||
// 테이블 리스트 데이터
|
||||
perPageCnt: 50,
|
||||
searchType1:'',
|
||||
searchType2:'',
|
||||
grid: {
|
||||
url: '/api/v1/bo/sendNumMgt/apprList',
|
||||
perPage: 50,
|
||||
@@ -200,6 +202,9 @@ export default {
|
||||
methods: {
|
||||
search: function(isKeep) {
|
||||
console.log(this.grid.params);
|
||||
this.grid.params.searchType1 = this.searchType1
|
||||
this.grid.params.searchType2 = this.searchType2
|
||||
this.grid.perPage = this.perPageCnt
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<div class="group">
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">등록방법</label>
|
||||
<select name="" id="sttusCd" v-model="grid.params.searchType5" @keyup.enter="search">
|
||||
<select name="" id="sttusCd" v-model="searchType5" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">서류심사</option>
|
||||
<option value="02">본인인증</option>
|
||||
@@ -19,7 +19,7 @@
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">승인상태</label>
|
||||
<select name="" id="sttusCd" v-model="grid.params.searchType1" @keyup.enter="search">
|
||||
<select name="" id="sttusCd" v-model="searchType1" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">승인대기</option>
|
||||
<option value="02">승인완료</option>
|
||||
@@ -28,7 +28,7 @@
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">명의자 구분</label>
|
||||
<select name="" id="nmineeDivCd" v-model="grid.params.searchType2" @keyup.enter="search">
|
||||
<select name="" id="nmineeDivCd" v-model="searchType2" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">사업자</option>
|
||||
<option value="02">타사업자</option>
|
||||
@@ -36,7 +36,7 @@
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">인입채널</label>
|
||||
<select name="" id="inchDivCd" v-model="grid.params.searchType3" @keyup.enter="search">
|
||||
<select name="" id="inchDivCd" v-model="searchType3" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">홈페이지</option>
|
||||
<option value="02">어드민</option>
|
||||
@@ -44,9 +44,9 @@
|
||||
</div>
|
||||
<div class="select_box id">
|
||||
<label for="right" class="label">상세검색</label>
|
||||
<select name="" id="category" v-model="grid.params.searchType4" @keyup.enter="search">
|
||||
<select name="" id="category" v-model="searchType4" @keyup.enter="search">
|
||||
<option value="regNo">발신번호</option>
|
||||
<option value="bregNo">사업자번호</option>
|
||||
<option selected value="regNo">발신번호</option>
|
||||
<option value="custNm">고객사명</option>
|
||||
</select>
|
||||
</div>
|
||||
@@ -60,9 +60,9 @@
|
||||
<div class="info">
|
||||
<div class="count">총 <span>{{ totalItems }}</span>건
|
||||
<div class="select_box NumberSe">
|
||||
<select name="" id="perPage" v-model="grid.pagePerRows" @keyup.enter="search">
|
||||
<option value="20" selected>20</option>
|
||||
<option value="50" >50</option>
|
||||
<select name="" id="perPage" v-model="perPageCnt" @keyup.enter="search">
|
||||
<option value="20">20</option>
|
||||
<option value="50">50</option>
|
||||
<option value="100">100</option>
|
||||
</select>
|
||||
</div>
|
||||
@@ -101,6 +101,9 @@ import customGrid from '@/components/CustomGrid';
|
||||
import commonModal from "@/components/modal/commonModal";
|
||||
import NumberRegPop from '../components/NumberRegPop';
|
||||
import NumberDetailPop from "@/modules/sendNumMgt/components/NumberDetailPop";
|
||||
// import sendNumMgtApi from "@/modules/sysMgt/service/sendNumMgtApi";
|
||||
import sendNumMgtApi from '../service/sendNumMgtApi';
|
||||
|
||||
|
||||
class CustomATagRenderer {
|
||||
constructor(props) {
|
||||
@@ -133,6 +136,12 @@ export default {
|
||||
statType: [],
|
||||
cate2Code: "",
|
||||
totalItems: 0,
|
||||
searchType5:'',
|
||||
searchType4:'regNo',
|
||||
searchType3:'',
|
||||
searchType2:'',
|
||||
searchType1:'',
|
||||
|
||||
// 테이블 리스트 데이터
|
||||
perPageCnt: 50,
|
||||
grid: {
|
||||
@@ -233,6 +242,12 @@ export default {
|
||||
methods: {
|
||||
search: function(isKeep) {
|
||||
console.log(this.grid.params);
|
||||
this.grid.params.searchType1 = this.searchType1
|
||||
this.grid.params.searchType2 = this.searchType2
|
||||
this.grid.params.searchType3 = this.searchType3
|
||||
this.grid.params.searchType4 = this.searchType4
|
||||
this.grid.params.searchType5 = this.searchType5
|
||||
this.grid.pagePerRows = this.perPageCnt
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
@@ -265,9 +280,53 @@ export default {
|
||||
commonModalOpen(row){
|
||||
this.$refs.commmonModal.alertModalOpen(row);
|
||||
},
|
||||
numberDelete(){
|
||||
|
||||
async numberDelete(){
|
||||
if(this.doValidate() && window.confirm('삭제 하시겠습니까?')){
|
||||
try {
|
||||
let response = await sendNumMgtApi.deleteNumber(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.row.title = '문자발신번호 관리';
|
||||
this.row.msg1 = '삭제 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs.table.reloadData();
|
||||
return;
|
||||
}
|
||||
this.row.title = '문자발신번호 관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
} catch(err) {
|
||||
this.row.title = '문자발신번호 관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
}
|
||||
},
|
||||
doValidate(){ //로우데이터 삭제하도록 수정
|
||||
|
||||
console.log("totalItems >> " + this.totalItems);
|
||||
if(this.totalItems == 0){
|
||||
this.row.title = '문자발신번호 관리';
|
||||
this.row.msg1 = '검색 결과가 없습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
return false;
|
||||
}
|
||||
var chkList = this.$refs.table.checkedElementDatas();
|
||||
if(chkList.length == 0){
|
||||
this.row.title = '문자발신번호 관리';
|
||||
this.row.msg1 = '삭제대상을 체크를 해주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
return false;
|
||||
}
|
||||
// for(var i = 0; i < chkList.length; i++){
|
||||
// alert(chkList[i].adminId);
|
||||
// }
|
||||
const param = chkList.map((row)=>({regReqNo:row.regReqNo} ));
|
||||
console.log(param)
|
||||
this.row.list = param;
|
||||
console.log(this.row);
|
||||
return true;
|
||||
},
|
||||
},
|
||||
// beforeRouteLeave(to, from, next) {
|
||||
//
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
<div class="search_wrap">
|
||||
<div class="select_box">
|
||||
<label for="stat" class="label">상태</label>
|
||||
<select name="" id="stat" v-model="grid.params.searchType1" @keyup="search">
|
||||
<option value="전체">전체</option>
|
||||
<select name="" id="stat" v-model="searchType1" @keyup="search">
|
||||
<option value="">전체</option>
|
||||
<option value="A">사용</option>
|
||||
<option value="N">미사용</option>
|
||||
<option value="H">휴면</option>
|
||||
@@ -20,7 +20,7 @@
|
||||
</div>
|
||||
<div class="select_box id">
|
||||
<label for="searchType" class="label">상세검색</label>
|
||||
<select name="" id="searchType" v-model="grid.params.searchType2" @keyup="search">
|
||||
<select name="" id="searchType" v-model="searchType2" @keyup="search">
|
||||
<option value="custNm">고객사명</option>
|
||||
<option value="bregNo">사업자번호</option>
|
||||
<option value="sendProfile">발신프로필</option>
|
||||
@@ -94,6 +94,8 @@ export default {
|
||||
statType: [],
|
||||
cate2Code: "",
|
||||
totalItems: 0,
|
||||
searchType1:'',
|
||||
searchType2:'custNm',
|
||||
// 테이블 리스트 데이터
|
||||
perPageCnt: 20,
|
||||
grid: {
|
||||
@@ -168,6 +170,8 @@ export default {
|
||||
methods: {
|
||||
search: function(isKeep) {
|
||||
console.log(this.grid.params);
|
||||
this.grid.params.searchType1 = this.searchType1
|
||||
this.grid.params.searchType2 = this.searchType2
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<div class="search_wrap">
|
||||
<div class="select_box">
|
||||
<label for="stat" class="label">사용상태</label>
|
||||
<select name="" id="stat" v-model="grid.params.searchType1" @keyup.enter="search">
|
||||
<select name="" id="stat" v-model="searchType1" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="Y">사용</option>
|
||||
<option value="N">폐기</option>
|
||||
@@ -17,7 +17,7 @@
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="searchType" class="label">고객사명</label>
|
||||
<select name="" id="searchType" v-model="grid.params.searchType2" @keyup.enter="search">
|
||||
<select name="" id="searchType" v-model="searchType2" @keyup.enter="search">
|
||||
<option value="custNm">고객사명</option>
|
||||
<option value="bizNo">사업자번호</option>
|
||||
<option value="authCd">인증코드</option>
|
||||
@@ -98,6 +98,8 @@ export default {
|
||||
statType: [],
|
||||
cate2Code: "",
|
||||
totalItems: 0,
|
||||
searchType1:'',
|
||||
searchType2:'custNm',
|
||||
// 테이블 리스트 데이터
|
||||
perPageCnt: 50,
|
||||
options: [
|
||||
@@ -181,6 +183,8 @@ export default {
|
||||
methods: {
|
||||
search: function(isKeep) {
|
||||
console.log(this.grid.params);
|
||||
this.grid.params.searchType1 = this.searchType1
|
||||
this.grid.params.searchType2 = this.searchType2
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
|
||||
@@ -304,9 +304,10 @@ export default {
|
||||
setPeriodDay(day) {
|
||||
this.periodDay = day;
|
||||
this.endDate = new Date();
|
||||
this.startDate = moment(this.endDate)
|
||||
.subtract(day, 'day')
|
||||
.toDate();
|
||||
// this.startDate = moment(this.endDate)
|
||||
// .subtract(day, 'day')
|
||||
// .toDate();
|
||||
this.initSetStartDate();
|
||||
|
||||
this.closeDate('start');
|
||||
this.closeDate('end');
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
<h3 class="pop-tit" v-if="code === null || code === ''">관리자 상세정보</h3>
|
||||
<h3 class="pop-tit" v-else>유치채널 상세정보</h3>
|
||||
</div>
|
||||
<form autocomplete="off" ref="adminDetailForm">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -65,7 +64,6 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
<div class="pop-btn2">
|
||||
<button class="btn-default" @click="adminDetailModalClose();">취소</button>
|
||||
<button class="btn-pcolor" @click="doInsert">저장</button>
|
||||
|
||||
@@ -88,7 +88,7 @@ import sysMgtApi from "../service/sysMgtApi.js";
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
import SearchIdPopup from '../components/SearchIdPopup.vue';
|
||||
import lodash from "lodash";
|
||||
import commonModal from "@/components/modal/commonModal";
|
||||
import commonModal from "../components/commonModal";
|
||||
|
||||
export default {
|
||||
name: "adminRegPop",
|
||||
@@ -343,6 +343,7 @@ export default {
|
||||
wrap[0].style.display = 'block';
|
||||
var obj = document.getElementsByClassName('modal20');
|
||||
obj[0].style.display = 'block';
|
||||
this.setAuthData();
|
||||
},
|
||||
// 모달 끄기
|
||||
ModalClose(){
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
<li>이메일 : {{email}}</li>
|
||||
</ul>
|
||||
<div class="pop-btn2">
|
||||
<!-- this.ModalOpen('modal20'); -->
|
||||
<button class="btn-default" @click="searchIdModalCancelClose();">취소</button>
|
||||
<button class="btn-pcolor" @click="searchIdModalOkClose();">확인</button>
|
||||
</div>
|
||||
@@ -157,8 +156,8 @@ export default {
|
||||
}
|
||||
</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>
|
||||
<!--<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>-->
|
||||
@@ -180,9 +180,3 @@ export default {
|
||||
}
|
||||
}
|
||||
</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> -->
|
||||
@@ -9,7 +9,7 @@
|
||||
<div class="search_wrap">
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">권한</label>
|
||||
<select name="" id="right" v-model="grid.params.searchType1" @keyup.enter="search">
|
||||
<select name="" id="right" v-model="searchType1" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option v-for="(option, i) in authType" v-bind:value="option.autCd" v-bind:key="i">
|
||||
{{ option.autNm }}
|
||||
@@ -18,7 +18,7 @@
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">상태</label>
|
||||
<select name="" id="" v-model="grid.params.searchType2" @keyup.enter="search">
|
||||
<select name="" id="" v-model="searchType2" @keyup.enter="search">
|
||||
<option value="" selected>전체</option>
|
||||
<option v-for="(option, i) in statType" v-bind:value="option.code" v-bind:key="i">
|
||||
{{ option.codeNm }}
|
||||
@@ -109,6 +109,8 @@ export default {
|
||||
totalItems: 0,
|
||||
// 테이블 리스트 데이터
|
||||
perPageCnt: 20,
|
||||
searchType1:'',
|
||||
searchType2:'',
|
||||
grid: {
|
||||
url: '/api/v1/bo/sysMgt/adminList',
|
||||
pagePerRows: 20,
|
||||
@@ -177,6 +179,9 @@ export default {
|
||||
search: function(isKeep) {
|
||||
console.log('this.perPageCnt'+this.perPageCnt);
|
||||
//console.log(this.grid.params);
|
||||
this.grid.params.searchType1 = this.searchType1
|
||||
this.grid.params.searchType2 = this.searchType2
|
||||
this.grid.pagePerRows = this.perPageCnt
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
package kr.co.uplus.ez;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class Scheduler {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(Scheduler.class);
|
||||
|
||||
/**
|
||||
* 스케줄러 트리거는 해당영역에 선언 / 서비스영역은 별도
|
||||
*/
|
||||
|
||||
@@ -795,7 +795,7 @@ public class CustMgtService {
|
||||
paramMap.put("userId", updateAdminInfoTotalReqDto.getUserId());
|
||||
// 3-1. 기존 정액한도금액 조회
|
||||
rstAmtMap = custMgtMapper.selectAdminSendingLimt(paramMap);
|
||||
if(rstAmtMap.get("fxLmtAmt") != null) {
|
||||
if(rstAmtMap != null) {
|
||||
String stFxLmtAmt = rstAmtMap.get("fxLmtAmt").toString();
|
||||
BigDecimal fxLmtAmt = new BigDecimal(stFxLmtAmt);
|
||||
|
||||
|
||||
@@ -36,6 +36,9 @@ public class LoginService {
|
||||
@Value("#{'${authentication.without.id}'.split(',')}")
|
||||
private List<String> authenticationWithoutId;
|
||||
|
||||
@Value("${sendMsg.tableNm}")
|
||||
private String sendMsgTableName;
|
||||
|
||||
/**
|
||||
* 1차 로그인 인증
|
||||
*
|
||||
@@ -154,7 +157,7 @@ public class LoginService {
|
||||
sendMsgDto.setClientKey(clientKey);
|
||||
sendMsgDto.setMsg("인증 번호는 [" + authNum + "] 입니다.");
|
||||
sendMsgDto.setPhone(user.getHpNo());
|
||||
|
||||
sendMsgDto.setTableName(sendMsgTableName);
|
||||
loginMapper.insertSendMsg(sendMsgDto);
|
||||
|
||||
return new AuthNumResDto();
|
||||
@@ -254,7 +257,7 @@ public class LoginService {
|
||||
sendMsgDto.setClientKey(clientKey);
|
||||
sendMsgDto.setMsg("[U+메시지허브이지] \n임시 비밀번호 안내 : " + randomPw + "\n로그인 후, 비밀번호 변경해주세요.\n");
|
||||
sendMsgDto.setPhone(user.getHpNo());
|
||||
|
||||
sendMsgDto.setTableName(sendMsgTableName);
|
||||
loginMapper.insertSendMsg(sendMsgDto);
|
||||
|
||||
return new ResetPasswordResDto();
|
||||
|
||||
@@ -9,4 +9,5 @@ public class SendMsgDto {
|
||||
private String clientKey; // 클라이언트키
|
||||
private String msg; // 발송 메시지
|
||||
private String phone; // 수신번호
|
||||
private String tableName;
|
||||
}
|
||||
|
||||
@@ -22,7 +22,6 @@ public class SendListReqDto implements Serializable {
|
||||
@ApiModelProperty(example = "발송일", name = "발송일",dataType = "String")
|
||||
private String sentDate;
|
||||
|
||||
@NotNull
|
||||
@ApiModelProperty(example = "요청채널", name = "요청채널", dataType = "String")
|
||||
private String reqChennel;
|
||||
|
||||
|
||||
@@ -15,12 +15,16 @@ public class SendNumIntrcpList implements Serializable {
|
||||
private String blcksndrno;
|
||||
@ApiModelProperty(example = "발송타입", name = "발송타입", dataType = "String")
|
||||
private String sndblckTpCd;
|
||||
@ApiModelProperty(example = "발송타입명", name = "발송타입명", dataType = "String")
|
||||
private String sndblckTpNm;
|
||||
@ApiModelProperty(example = "차단여부", name = "차단여부", dataType = "String")
|
||||
private String blckYn;
|
||||
@ApiModelProperty(example = "마지막 수정일", name = "마지막 수정일", dataType = "String")
|
||||
private String lastChgDt;
|
||||
@ApiModelProperty(example = "차단사유", name = "차단사유", dataType = "String")
|
||||
@ApiModelProperty(example = "차단사유타입", name = "차단사유타입", dataType = "String")
|
||||
private String blckRsnCd;
|
||||
@ApiModelProperty(example = "차단사유명", name = "차단사유명", dataType = "String")
|
||||
private String blckRsnNm;
|
||||
@ApiModelProperty(example = "등록자", name = "등록자", dataType = "String")
|
||||
private String regId;
|
||||
}
|
||||
@@ -24,7 +24,8 @@ public class WebInsertIntrcpReqDto implements Serializable {
|
||||
private String searchType1;
|
||||
@ApiModelProperty(example = "검색어 (입력항목)", name = "검색어 (입력항목)", dataType = "String")
|
||||
private String searchText1;
|
||||
|
||||
@ApiModelProperty(example = "검색어 (입력항목)", name = "검색어 (입력항목)", dataType = "String")
|
||||
private String searchType3;
|
||||
@NotNull
|
||||
@ApiModelProperty(example = "페이지당 조회할 목록 수", name = "페이지당 조회할 목록 수", dataType = "String")
|
||||
private int pagePerRows;
|
||||
|
||||
@@ -27,4 +27,6 @@ public class WebIntrcpList implements Serializable {
|
||||
private String blckRsnCd;
|
||||
@ApiModelProperty(example = "발송일자", name = "발송일자", dataType = "String")
|
||||
private String blckDt;
|
||||
@ApiModelProperty(example = "서비스ID", name = "서비스ID", dataType = "String")
|
||||
private String serviceId;
|
||||
}
|
||||
@@ -10,7 +10,7 @@ import java.io.Serializable;
|
||||
public class ZezNumIntrcpList implements Serializable {
|
||||
|
||||
@ApiModelProperty(example = "리스트 번호", name = "리스트 번호", dataType = "String")
|
||||
private String no;
|
||||
private int no;
|
||||
@ApiModelProperty(example = "고객사", name = "고객사", dataType = "String")
|
||||
private String custNm;
|
||||
@ApiModelProperty(example = "사업자번호", name = "사업자번호", dataType = "String")
|
||||
|
||||
@@ -1,17 +1,15 @@
|
||||
package kr.co.uplus.ez.api.sendNumMgt.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
@Data
|
||||
public class DeleteNumber implements Serializable{
|
||||
|
||||
@ApiModelProperty(example = "등록번호", name = "등록번호", dataType = "String")
|
||||
private String regNo;
|
||||
private String regReqNo;
|
||||
|
||||
@ApiModelProperty(example = "관리자 ID", name = "관리자 ID", dataType = "String")
|
||||
private String adminId;
|
||||
}
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
package kr.co.uplus.ez.api.sendNumMgt.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
@Data
|
||||
public class DeleteNumberReqDto implements Serializable{
|
||||
|
||||
@ApiModelProperty(example = "등록번호 리스트", name = "등록번호 리스트", dataType = "String")
|
||||
private List<DeleteNumber> list;
|
||||
|
||||
}
|
||||
|
||||
@@ -37,7 +37,6 @@ authentication:
|
||||
without:
|
||||
id: superadminuser,jambler01,jambler02,jambler03,jambler04,jambler05,jambler06
|
||||
|
||||
|
||||
mail:
|
||||
from: msghubez@lguplus.co.kr
|
||||
templeteCode: E0005
|
||||
@@ -65,3 +64,6 @@ file-resource:
|
||||
info:
|
||||
sendNumber:
|
||||
path: /efs/admin/sendNumber/
|
||||
|
||||
sendMsg:
|
||||
tableNm: EZ_MSG_NORMAL
|
||||
@@ -35,15 +35,15 @@ schedule:
|
||||
# 2차인증 제외 ID목록.
|
||||
authentication:
|
||||
without:
|
||||
id: jambler01,jambler02,jambler03,jambler04,jambler05,jambler06
|
||||
id: jambler01,jambler02,jambler03,jambler04,jambler05,jambler06,superadminuser
|
||||
|
||||
mail:
|
||||
from: msghubez@lguplus.co.kr
|
||||
templeteCode: E0005
|
||||
|
||||
msghubez:
|
||||
homepage-url: https://mhez-dev.uplus.co.kr
|
||||
api-url: https://localhost:7071
|
||||
hmoepage-url: https://mhez-dev.uplus.co.kr
|
||||
api-url: https://api-int.mhez-dev.uplus.co.kr
|
||||
applicationId: EZ_ADMIN
|
||||
uri:
|
||||
sendTemplateMail: /api/v1/fo/sendTemplateMail
|
||||
@@ -64,3 +64,6 @@ file-resource:
|
||||
info:
|
||||
sendNumber:
|
||||
path: /efs/admin/sendNumber/
|
||||
|
||||
sendMsg:
|
||||
tableNm: EZ_MSG_NORMAL
|
||||
@@ -64,3 +64,6 @@ file-resource:
|
||||
info:
|
||||
sendNumber:
|
||||
path: /efs/admin/sendNumber/
|
||||
|
||||
sendMsg:
|
||||
tableNm: EZ_MSG_NORMAL
|
||||
@@ -64,3 +64,6 @@ file-resource:
|
||||
info:
|
||||
sendNumber:
|
||||
path: /efs/admin/sendNumber/
|
||||
|
||||
sendMsg:
|
||||
tableNm: EZ_MSG_NORMAL
|
||||
Reference in New Issue
Block a user