로그인 관련 / 메뉴 링크 추가 / 홈페이지 로그인 적용

This commit is contained in:
kimre
2022-07-08 14:07:33 +09:00
parent 3d05b45299
commit b2ff509948
73 changed files with 1251 additions and 668 deletions

View File

@@ -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();
},

View File

@@ -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(){

View File

@@ -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() {

View File

@@ -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() {