mirror of
http://git.mhez-qa.uplus.co.kr/hubez/hubez-admin.git
synced 2025-12-07 04:27:21 +09:00
로그인 관련 / 메뉴 링크 추가 / 홈페이지 로그인 적용
This commit is contained in:
@@ -20,13 +20,18 @@
|
||||
<th>발송타입</th>
|
||||
<td v-if="code === null || code === ''">
|
||||
<div v:class="select_box">
|
||||
<select name="" id="right" v-model.trim="sndblckTpCd" ref="sndblckTpCd">
|
||||
<option v-for="(option, i) in tpType"
|
||||
:value="sndblckTpCd"
|
||||
v-bind:key="i"
|
||||
>
|
||||
<select name="" id="right" v-model.trim="sndblckTpCd" ref="sndblckTpCd" @keyup.enter="search">
|
||||
<option v-for="(option, i) in tpType" :value="option.code" v-bind:key="i">
|
||||
{{ option.codeNm }}
|
||||
</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>
|
||||
@@ -36,9 +41,9 @@
|
||||
<tr>
|
||||
<th>차단사유</th>
|
||||
<td>
|
||||
<div>
|
||||
<div>
|
||||
<select name="" id="" v-model.trim="blckRsnCd" ref="blckRsnCd">
|
||||
<option v-for="(option, i) in rsnType" :value="blckRsnCd" v-bind:key="i">
|
||||
<option v-for="(option, i) in rsnType" :value="option.code" v-bind:key="i">
|
||||
{{ option.codeNm }}
|
||||
</option>
|
||||
</select>
|
||||
@@ -47,7 +52,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th>메모</th>
|
||||
<td class="sender"><textarea class="memo_text" v-model.trim="meno" ref="meno"></textarea></td>
|
||||
<td class="sender"><textarea class="memo_text" v-model.trim="meno" ref="meno" @input="memoLimitByte()"></textarea></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -80,11 +85,12 @@ export default {
|
||||
rsnType: [],
|
||||
tpType: [],
|
||||
blckSndrno: '',
|
||||
sndblckTpCd: '',
|
||||
blckRsnCd: '',
|
||||
sndblckTpCd: '01',
|
||||
blckRsnCd: '01',
|
||||
meno: '',
|
||||
code:"",
|
||||
|
||||
LINE_FEED : 10, // '\n',
|
||||
maxByte: 2000,
|
||||
// params: {
|
||||
// 'blckSndrno' : ''
|
||||
// ,'sndblckTpCd' : '01'
|
||||
@@ -94,13 +100,16 @@ export default {
|
||||
}
|
||||
},
|
||||
create(){
|
||||
// this.setCodeDate();
|
||||
this.setCodeDate();
|
||||
this.formReset();
|
||||
},
|
||||
components: {
|
||||
commonModal,
|
||||
ValidationConfirmPopup
|
||||
},
|
||||
mounted(){
|
||||
//this.sndblckTpCd = '01'
|
||||
},
|
||||
components: {
|
||||
commonModal,
|
||||
ValidationConfirmPopup
|
||||
},
|
||||
methods :{
|
||||
//모달 띄우기
|
||||
ModalOpen(){
|
||||
@@ -124,12 +133,19 @@ export default {
|
||||
|
||||
},
|
||||
// 저장 후 부모창 호출
|
||||
toComplete(){z
|
||||
toComplete(){
|
||||
this.$parent.$refs.table.reloadData();
|
||||
this.ModalClose();
|
||||
},
|
||||
async doInsert(){
|
||||
// if(this.doValidate() && this.regisConfirm()){
|
||||
this.row.blckSndrno = this.blckSndrno;
|
||||
this.row.sndblckTpCd = this.sndblckTpCd;
|
||||
this.row.blckRsnCd = this.blckRsnCd;
|
||||
this.row.meno = this.meno;
|
||||
this.regId = 'admin';
|
||||
console.log(this.row);
|
||||
|
||||
try {
|
||||
const response = await riskMgtApi.insertIntrcp(this.row);
|
||||
const result = response.data;
|
||||
@@ -137,8 +153,8 @@ export default {
|
||||
this.row.title = '발신번호 차단';
|
||||
this.row.msg1 = '성공 하였습니다.';
|
||||
this.$parent.alertInsert(this.row);
|
||||
this.toComplete();
|
||||
}
|
||||
this.toComplete();
|
||||
} catch(err) {
|
||||
console.log(err);
|
||||
this.row.title = '발신번호 차단';
|
||||
@@ -188,7 +204,45 @@ export default {
|
||||
if(this.doValidate()){
|
||||
this.$refs.ValidationConfirmPopup.confirmInsertOpen();
|
||||
}
|
||||
},
|
||||
},
|
||||
// 바이트길이 구하기
|
||||
getByteLength: function (decimal) {
|
||||
return (decimal >> 7) || (this.LINE_FEED === decimal) ? 2 : 1
|
||||
},
|
||||
|
||||
getByte: function (str) {
|
||||
return str
|
||||
.split('')
|
||||
.map((s) => s.charCodeAt(0))
|
||||
.reduce((prev, unicodeDecimalValue) => prev + this.getByteLength(unicodeDecimalValue), 0)
|
||||
},
|
||||
getLimitedByteText: function (inputText, maxByte) {
|
||||
const characters = inputText.split('')
|
||||
let validText = ''
|
||||
let totalByte = 0
|
||||
|
||||
for (let i = 0; i < characters.length; i += 1) {
|
||||
const character = characters[i]
|
||||
const decimal = character.charCodeAt(0)
|
||||
const byte = this.getByteLength(decimal) // 글자 한 개가 몇 바이트 길이인지 구해주기
|
||||
|
||||
// 현재까지의 바이트 길이와 더해 최대 바이트 길이를 넘지 않으면
|
||||
if (totalByte + byte <= maxByte) {
|
||||
totalByte += byte // 바이트 길이 값을 더해 현재까지의 총 바이트 길이 값을 구함
|
||||
validText += character // 글자를 더해 현재까지의 총 문자열 값을 구함
|
||||
} else { // 최대 바이트 길이를 넘으면
|
||||
break // for 루프 종료
|
||||
}
|
||||
}
|
||||
|
||||
return validText
|
||||
},
|
||||
|
||||
memoLimitByte() {
|
||||
this.meno = this.getLimitedByteText(this.meno, this.maxByte);
|
||||
|
||||
}, //END 바이트길이 구하기
|
||||
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<tr>
|
||||
<th>차단문구</th>
|
||||
<td class="input_add">
|
||||
<input v-model="word" ref="_word">
|
||||
<input v-model="word" ref="_word" maxlength="50">
|
||||
<button type="button" class="button white add" @click="doAdd"></button>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -43,9 +43,8 @@
|
||||
<div>
|
||||
<select name="" id="" v-model.trim="blckRsnCd" ref="blckRsnCd">
|
||||
<option v-for="(option, i) in rsnType"
|
||||
:value="blckRsnCd"
|
||||
v-bind:key="i"
|
||||
:selected="blckRsnCd === option.code">
|
||||
:value="option.code"
|
||||
v-bind:key="i">
|
||||
{{ option.codeNm }}
|
||||
</option>
|
||||
</select>
|
||||
@@ -54,7 +53,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th>메모</th>
|
||||
<td class="sender"><textarea class="memo_text" v-model.trim="memo" ref="memo"></textarea></td>
|
||||
<td class="sender"><textarea class="memo_text" v-model.trim="memo" ref="memo" ></textarea></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
@@ -94,9 +93,9 @@ export default {
|
||||
word: '', // 차단문구
|
||||
blckSndrno:'',
|
||||
sndblckTpCd:'',
|
||||
blckRsnCd: '', // 차단사유
|
||||
blckRsnCd: '01', // 차단사유
|
||||
blckYn:'',
|
||||
blckContCd:'', //차단 조건
|
||||
blckContCd:'01', //차단 조건
|
||||
chgDt:'',
|
||||
regId: '',
|
||||
regDt: '',
|
||||
@@ -216,9 +215,10 @@ export default {
|
||||
if(this.doValidate()){
|
||||
this.$refs.ValidationConfirmPopup.msgConfirmInsertOpen();
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
@@ -43,14 +43,14 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th>메모</th>
|
||||
<td><input type="text" value="고객사요청" v-model.trim="meno" ref="meno"></td>
|
||||
<td><input type="text" value="고객사요청" v-model.trim="meno" ref="meno" @input="memoLimitByte()"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>차단여부</th>
|
||||
<td>
|
||||
<input type="radio" name="state" value="해제" id="popup_radio1" checked="">
|
||||
<input type="radio" name="state" value="N" id="popup_radio1" v-model="blckYn">
|
||||
<label for="popup_radio1">해제</label>
|
||||
<input type="radio" name="state" value="차단" id="popup_radio2">
|
||||
<input type="radio" name="state" value="Y" id="popup_radio2" v-model="blckYn">
|
||||
<label for="popup_radio2">차단</label>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -87,11 +87,17 @@ export default {
|
||||
blckRsnCd:'',
|
||||
regId: '',
|
||||
meno: '',
|
||||
LINE_FEED : 10, // '\n',
|
||||
maxByte: 2000,
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ValidationConfirmPopup
|
||||
},
|
||||
created(){
|
||||
this.setCodeDate();
|
||||
// this.formReset();
|
||||
},
|
||||
methods :{
|
||||
// 모달 띄우기
|
||||
async IntrcpDetailModalOpen(props){
|
||||
@@ -161,6 +167,7 @@ export default {
|
||||
try {
|
||||
const response = await riskMgtApi.updateIntrcp(this.row);
|
||||
const result = response.data;
|
||||
console.log(result);
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.row.title = '발신번호 차단';
|
||||
this.row.msg1 = '수정 하였습니다.';
|
||||
@@ -209,6 +216,48 @@ export default {
|
||||
this.$refs.ValidationConfirmPopup.confirmDeleteOpen();
|
||||
}
|
||||
},
|
||||
// formReset(){
|
||||
// var type= this.insertType;
|
||||
// Object.assign(this.$data, this.$options.data());
|
||||
// this.insertType = type;
|
||||
// },
|
||||
// 바이트길이 구하기
|
||||
getByteLength: function (decimal) {
|
||||
return (decimal >> 7) || (this.LINE_FEED === decimal) ? 2 : 1
|
||||
},
|
||||
|
||||
getByte: function (str) {
|
||||
return str
|
||||
.split('')
|
||||
.map((s) => s.charCodeAt(0))
|
||||
.reduce((prev, unicodeDecimalValue) => prev + this.getByteLength(unicodeDecimalValue), 0)
|
||||
},
|
||||
getLimitedByteText: function (inputText, maxByte) {
|
||||
const characters = inputText.split('')
|
||||
let validText = ''
|
||||
let totalByte = 0
|
||||
|
||||
for (let i = 0; i < characters.length; i += 1) {
|
||||
const character = characters[i]
|
||||
const decimal = character.charCodeAt(0)
|
||||
const byte = this.getByteLength(decimal) // 글자 한 개가 몇 바이트 길이인지 구해주기
|
||||
|
||||
// 현재까지의 바이트 길이와 더해 최대 바이트 길이를 넘지 않으면
|
||||
if (totalByte + byte <= maxByte) {
|
||||
totalByte += byte // 바이트 길이 값을 더해 현재까지의 총 바이트 길이 값을 구함
|
||||
validText += character // 글자를 더해 현재까지의 총 문자열 값을 구함
|
||||
} else { // 최대 바이트 길이를 넘으면
|
||||
break // for 루프 종료
|
||||
}
|
||||
}
|
||||
|
||||
return validText
|
||||
},
|
||||
|
||||
memoLimitByte() {
|
||||
this.meno = this.getLimitedByteText(this.meno, this.maxByte);
|
||||
|
||||
}, //END 바이트길이 구하기
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<tr>
|
||||
<th>차단문구</th>
|
||||
<td class="input_add">
|
||||
<input v-model="word">
|
||||
<input v-model="word" ref="_word">
|
||||
<button type="button" class="button white add" @click="doAdd"></button>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -31,10 +31,10 @@
|
||||
<tr>
|
||||
<th>조건</th>
|
||||
<td>
|
||||
<input type="radio" name="state" value="01" id="popup_radio3" v-model="blckContCd" >
|
||||
<label for="popup_radio3">AND</label>
|
||||
<input type="radio" name="state" value="02" id="popup_radio4" v-model="blckContCd">
|
||||
<label for="popup_radio4">OR</label>
|
||||
<input type="radio" name="state02" value="01" id="popup_radio5" v-model="blckContCd" >
|
||||
<label for="popup_radio5">AND</label>
|
||||
<input type="radio" name="state02" value="02" id="popup_radio6" v-model="blckContCd">
|
||||
<label for="popup_radio6">OR</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -59,9 +59,9 @@
|
||||
<tr>
|
||||
<th>차단여부</th>
|
||||
<td>
|
||||
<input type="radio" name="state01" value="AND" id="popup_radio7">
|
||||
<input type="radio" name="state01" value="N" id="popup_radio7" v-model="blckYn">
|
||||
<label for="popup_radio7">해제</label>
|
||||
<input type="radio" name="state01" value="OR" id="popup_radio8">
|
||||
<input type="radio" name="state01" value="Y" id="popup_radio8" v-model="blckYn">
|
||||
<label for="popup_radio8">차단</label>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -83,7 +83,9 @@
|
||||
import api from '@/service/api';
|
||||
import riskMgtApi from '../service/riskMgtApi';
|
||||
import ValidationConfirmPopup from './ValidationConfirmPopup.vue';
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
export default {
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
data(){
|
||||
return{
|
||||
|
||||
@@ -140,6 +142,7 @@ export default {
|
||||
try {
|
||||
const response = await riskMgtApi.msgIntrcpDetail(this.row);
|
||||
const result = response.data;
|
||||
console.log('----------------');
|
||||
console.log(result);
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.blckContCd = result.data.blckContCd;
|
||||
@@ -154,6 +157,7 @@ export default {
|
||||
} catch(err) {
|
||||
alert("실패 하였습니다.");
|
||||
}
|
||||
console.log(this.blckContCd);
|
||||
console.log('-----------')
|
||||
console.log(this.row)
|
||||
var dimmed = document.getElementsByClassName('modal58');
|
||||
@@ -191,12 +195,19 @@ export default {
|
||||
},
|
||||
//신규등록 팝업에서 문구 추가 버튼
|
||||
doAdd: function() {
|
||||
if(this.isNull(this.word)){
|
||||
this.row.title = '메세지 차단';
|
||||
this.row.msg1 = '문구를 입력해주세요.';
|
||||
this.$parent.msgAlertModalOpen(this.row);
|
||||
this.$refs._word.focus();
|
||||
return false;
|
||||
}
|
||||
if(this.msgBlckwordList.length < 10){
|
||||
this.msgBlckwordList.push({
|
||||
//seqNo: '',
|
||||
word: this.word
|
||||
});
|
||||
|
||||
this.word = '';
|
||||
}
|
||||
},
|
||||
//신규등록 팝업에서 문구 삭제 버튼
|
||||
@@ -239,14 +250,14 @@ export default {
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.row.title = '메세지 차단';
|
||||
this.row.msg1 = '수정 하였습니다.';
|
||||
this.$parent.msgAlertModalOpen(this.row);
|
||||
this.row.msg1 = '수정 하였습니다.';
|
||||
this.$parent.msgAlertModalOpen(this.row);
|
||||
}
|
||||
this.toComplete();
|
||||
} catch(err) {
|
||||
this.row.title = '메세지 차단';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$parent.msgAlertModalOpen(this.row);
|
||||
this.row.title = '메세지 차단';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$parent.msgAlertModalOpen(this.row);
|
||||
}
|
||||
// }
|
||||
},
|
||||
|
||||
@@ -52,11 +52,11 @@
|
||||
<div class="group">
|
||||
<div class="input_box">
|
||||
<label for="right" class="label">발신번호</label>
|
||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.sndrno">
|
||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.sndrno" v-on:keyup="onlyNum" @input="onlyNum" maxlength="12">
|
||||
</div>
|
||||
<div class="input_box">
|
||||
<label for="right" class="label">수신번호</label>
|
||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.rcvno">
|
||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.rcvno" v-on:keyup="onlyNum" @input="onlyNum" maxlength="12">
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">상세검색</label>
|
||||
@@ -74,12 +74,10 @@
|
||||
</div>
|
||||
</form>
|
||||
<div class="info">
|
||||
<div class="count">총 <span> {{ totalItems }} </span>건
|
||||
<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">20</option>
|
||||
<option value="50" selected>50</option>
|
||||
<option value="100">100</option>
|
||||
<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>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -108,6 +106,7 @@
|
||||
import customGrid from '@/components/CustomGrid';
|
||||
import moment from 'moment';
|
||||
import commonModal from "@/components/modal/commonModal";
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
|
||||
//import api from '../service/api';
|
||||
class CustomATagRenderer {
|
||||
@@ -133,22 +132,29 @@ class CustomATagRenderer {
|
||||
}
|
||||
export default {
|
||||
name: 'intrcpList',
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
data() {
|
||||
return {
|
||||
totalItems: 0,
|
||||
perPageCnt: 50,
|
||||
// 달력 데이터
|
||||
ko: vdp_translation_ko.js,
|
||||
periodDay: 7,
|
||||
sDateDiv: 'day',
|
||||
startDate: new Date(),
|
||||
endDate: new Date(),
|
||||
|
||||
options: [
|
||||
{ text: '20', value: 20},
|
||||
{ text: '50', value: 50},
|
||||
{ text: '100', value: 100}
|
||||
],
|
||||
statType: [],
|
||||
userType: [],
|
||||
row:{},
|
||||
grid: {
|
||||
url: '/api/v1/bo/riskMgt/web/intrcpList',
|
||||
perPage: 20,
|
||||
pagePerRows: 20,
|
||||
pagination: true,
|
||||
isCheckbox: false,
|
||||
initialRequest: false,
|
||||
@@ -168,20 +174,20 @@ export default {
|
||||
],
|
||||
|
||||
columns: [
|
||||
{ name: 'no', header: 'NO', align: 'center', width: 60 },
|
||||
{ name: 'blckTpCd', header: '차단구분', align: 'center', width: 160 },
|
||||
{ name: 'userId', header: '발송ID', align: 'center', width: 100},
|
||||
{ name: 'sndrno', header: '발신번호', align: 'center', width: 130},
|
||||
{ name: 'custNm', header: '고객사명', align: 'center', width: 130, renderer: {
|
||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
||||
{ name: 'blckTpCd', header: '차단구분', align: 'center', width: '11%' },
|
||||
{ name: 'userId', header: '발송ID', align: 'center', width: '11%'},
|
||||
{ name: 'sndrno', header: '발신번호', align: 'center', width: '11%'},
|
||||
{ name: 'custNm', header: '고객사명', align: 'center', width: '11%', renderer: {
|
||||
type: CustomATagRenderer
|
||||
, options: {
|
||||
callback: this.custDetail,
|
||||
}
|
||||
}},
|
||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: 90},
|
||||
{ name: 'rcvno', header: '수신번호', align: 'center', width: 90 },
|
||||
{ name: 'blckRsnCd', header: '차단사유', align: 'center', width: 90 },
|
||||
{ name: 'blckDt', header: '발송일자', align: 'center', width: 90 },
|
||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: '11%'},
|
||||
{ name: 'rcvno', header: '수신번호', align: 'center', width: '11%' },
|
||||
{ name: 'blckRsnCd', header: '차단사유', align: 'center', width: '7%' },
|
||||
{ name: 'blckDt', header: '발송일자', align: 'center', width: '11%' },
|
||||
|
||||
],
|
||||
noDataStr: '검색 결과가 없습니다.',
|
||||
@@ -220,8 +226,6 @@ export default {
|
||||
});
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
this.setPeriodDay(0);
|
||||
},
|
||||
@@ -241,6 +245,11 @@ export default {
|
||||
methods: {
|
||||
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.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<div class="group">
|
||||
<div class="input_box">
|
||||
<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"/>
|
||||
<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" />
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="blckRsnCd" class="label">차단사유</label>
|
||||
@@ -93,6 +93,7 @@ import api from '@/service/api.js';
|
||||
import intrcpDetailPopup from '../components/IntrcpDetailPopup';
|
||||
import insertIntrcpPop from '../components/InsertIntrcpPop';
|
||||
import commonModal from "@/components/modal/commonModal";
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
//import api from '../service/api';
|
||||
|
||||
class CustomATagRenderer {
|
||||
@@ -112,6 +113,7 @@ class CustomATagRenderer {
|
||||
addEvent(selEl) {
|
||||
selEl.addEventListener("click", () => {
|
||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
||||
console.log(this.props);
|
||||
callback(this.props);
|
||||
});
|
||||
}
|
||||
@@ -119,6 +121,7 @@ class CustomATagRenderer {
|
||||
|
||||
export default {
|
||||
name: 'intrcpList',
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
data() {
|
||||
return {
|
||||
totalItems: 0,
|
||||
@@ -149,21 +152,25 @@ export default {
|
||||
],
|
||||
|
||||
columns: [
|
||||
{ name: 'no', header: 'NO', align: 'center', width: 50 },
|
||||
{ name: 'blcksndrno', header: '발신번호', align: 'center', width: 160,
|
||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
||||
{ name: 'blcksndrno', header: '발신번호', align: 'center', width: '25%',
|
||||
renderer: { type: CustomATagRenderer, options: { callback: this.inDetailPop} } },
|
||||
{ name: 'blckYn', header: '차단여부', align: 'center', width: 100},
|
||||
{ name: 'sndblckTpCd', header: '발송타입', align: 'center', width: 100},
|
||||
{ name: 'lastChgDt', header: '최근수정일', align: 'center', width: 100},
|
||||
{ name: 'blckRsnCd', header: '차단사유', width: 100, cls: 'td_line' },
|
||||
{ name: 'regId', header: '등록자', width: 150 }
|
||||
{ name: 'blckYn', header: '차단여부', align: 'center', width: '15%'},
|
||||
{ name: 'sndblckTpCd', header: '발송타입', align: 'center', width: '15%', hidden: true},
|
||||
{ name: 'sndblckTpNm', header: '발송타입', align: 'center', width: '15%'},
|
||||
{ name: 'lastChgDt', header: '최근수정일', align: 'center', 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: '검색 결과가 없습니다.',
|
||||
params: {
|
||||
regId: '',
|
||||
blckRsnCd: '',
|
||||
blckRsnNm: '',
|
||||
blckYn: '',
|
||||
sndblckTpCd: '',
|
||||
sndblckTpNm: '',
|
||||
blcksndrno: ''
|
||||
},
|
||||
excelHeader: []
|
||||
@@ -180,8 +187,6 @@ export default {
|
||||
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
this.setCodeData();
|
||||
// this.formReset();
|
||||
},
|
||||
@@ -229,11 +234,17 @@ export default {
|
||||
api.commCode({'grpCd' : 'SVCUSER_TP_CD'}).then(response => {
|
||||
this.userType = response.data.data.list;
|
||||
});
|
||||
//발송타입
|
||||
api.commCode({'grpCd' : 'SNDBLCK_TP_CD'}).then(response => {
|
||||
this.tpType = response.data.data.list;
|
||||
});
|
||||
},
|
||||
ModalOpen: function(){
|
||||
this.$refs.insertIntrcpPop.ModalOpen();
|
||||
},
|
||||
inDetailPop(props) {
|
||||
console.log('======');
|
||||
console.log(props);
|
||||
this.$refs.intrcpDetailPopup.IntrcpDetailModalOpen(props);
|
||||
},
|
||||
// formReset(){
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<div class="search_wrap">
|
||||
<div class="input_box">
|
||||
<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"/>
|
||||
<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"/>
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="blckRsnCd" class="label">차단사유</label>
|
||||
@@ -70,7 +70,7 @@ import customGrid from '@/components/CustomGrid';
|
||||
import InsertMsgPop from '../components/InsertMsgPop';
|
||||
import IntrcpMsgDetail from '../components/IntrcpMsgDetail';
|
||||
import commonModal from "@/components/modal/commonModal";
|
||||
undefined
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
//import api from '../service/api';
|
||||
class CustomATagRenderer {
|
||||
constructor(props) {
|
||||
@@ -95,6 +95,7 @@ class CustomATagRenderer {
|
||||
}
|
||||
export default {
|
||||
name: 'intrcpList',
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
data() {
|
||||
return {
|
||||
totalItems: 0,
|
||||
@@ -127,21 +128,22 @@ export default {
|
||||
],
|
||||
|
||||
columns: [
|
||||
{ name: 'no', header: 'NO', align: 'center', width: 60 },
|
||||
{ name: 'seqNo', header: '일련번호', align: 'center', width: 60, hidden: true},
|
||||
{ name: 'word', header: '차단메시지', align: 'center', width: 160,
|
||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
||||
{ name: 'seqNo', header: '일련번호', align: 'center', width: '19%', hidden: true},
|
||||
{ name: 'word', header: '차단메시지', align: 'center', width: '19%',
|
||||
renderer: {type: CustomATagRenderer, options: { callback: this.msgDetailPop}} },
|
||||
{ name: 'blckYn', header: '차단여부', align: 'center', width: 130},
|
||||
{ name: 'lastChgDt', header: '마지막 수정일', align: 'center', width: 130},
|
||||
{ name: 'blckRsnCd', header: '차단사유', align: 'center', width: 130},
|
||||
{ name: 'regId', header: '등록자', width: 90, cls: 'td_line' }
|
||||
{ name: 'blckYn', header: '차단여부', align: 'center', width: '19%'},
|
||||
{ name: 'lastChgDt', header: '마지막 수정일', align: 'center', width: '19%'},
|
||||
{ name: 'blckRsnCd', header: '차단사유', align: 'center', width: '19%'},
|
||||
{ name: 'regId', header: '등록자', width: '19%', cls: 'td_line' }
|
||||
],
|
||||
noDataStr: '검색 결과가 없습니다.',
|
||||
params: {
|
||||
regId: '',
|
||||
blckRsnCd: '',
|
||||
word: '',
|
||||
seqNo: ''
|
||||
seqNo: '',
|
||||
blckYn: '',
|
||||
},
|
||||
excelHeader: []
|
||||
}
|
||||
@@ -157,8 +159,6 @@ export default {
|
||||
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
},
|
||||
mounted() {
|
||||
|
||||
@@ -11,15 +11,15 @@
|
||||
<div class="search_wrap">
|
||||
<div class="input_box">
|
||||
<label for="search" class="label">고객사</label>
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.custNm"/>
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.custNm" v-on:keyup="onlyName" @input="onlyName" maxlength="20"/>
|
||||
</div>
|
||||
<div class="input_box">
|
||||
<label for="search" class="label">인증코드</label>
|
||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.authcd080"/>
|
||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.authcd080" v-on:keyup="onlyNum" @input="onlyNum" maxlength="6"/>
|
||||
</div>
|
||||
<div class="input_box">
|
||||
<label for="right" class="label">수신번호</label>
|
||||
<input class="search-box" type="number" id="search" placeholder="검색어 입력" v-model="grid.params.rcvblckno"/>
|
||||
<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"/>
|
||||
</div>
|
||||
<button type="button" class="button grey" @click="search">조회</button>
|
||||
</div>
|
||||
@@ -57,6 +57,7 @@
|
||||
<script>
|
||||
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) {
|
||||
@@ -79,8 +80,28 @@ class CustomATagRenderer {
|
||||
});
|
||||
}
|
||||
}
|
||||
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 {
|
||||
name: 'intrcpList',
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
data() {
|
||||
return {
|
||||
totalItems: 0,
|
||||
@@ -112,18 +133,18 @@ export default {
|
||||
],
|
||||
|
||||
columns: [
|
||||
{ name: 'no', header: 'NO', align: 'center', width: 60 },
|
||||
{ name: 'custNm', header: '고객사', align: 'center', width: 160, renderer: {
|
||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
||||
{ name: 'custNm', header: '고객사', align: 'center', width: '15%', renderer: {
|
||||
type: CustomATagRenderer
|
||||
, options: {
|
||||
callback: this.memberDetail,
|
||||
}
|
||||
} },
|
||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: 100},
|
||||
{ name: 'authcd080', header: '인증코드', align: 'center', width: 130},
|
||||
{ name: 'rcvblckno', header: '수신번호', align: 'center', width: 130},
|
||||
{ name: 'regDt', header: '등록일', align: 'center', width: 130},
|
||||
{ name: 'regTpCd', header: '등록구분', width: 90, cls: 'td_line' }
|
||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: '15%', renderer: {type: customBRegNo}},
|
||||
{ name: 'authcd080', header: '인증코드', align: 'center', width: '15%'},
|
||||
{ name: 'rcvblckno', header: '수신번호', align: 'center', width: '15%'},
|
||||
{ name: 'regDt', header: '등록일', align: 'center', width: '20%'},
|
||||
{ name: 'regTpCd', header: '등록구분', width: '15%', cls: 'td_line' }
|
||||
],
|
||||
noDataStr: '검색 결과가 없습니다.',
|
||||
params: {
|
||||
@@ -143,8 +164,6 @@ export default {
|
||||
|
||||
},
|
||||
created(){
|
||||
this.$store.commit("login/isLogin", true);
|
||||
this.$store.commit("login/isAuthChk", true);
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
},
|
||||
mounted() {
|
||||
|
||||
Reference in New Issue
Block a user