mirror of
http://git.mhez-qa.uplus.co.kr/hubez/hubez-admin.git
synced 2025-12-07 05:12:34 +09:00
TC 기능 수정 / 디자인 수정 변경
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
<div class="pop-cont-detail input_box">
|
||||
<label>ID</label>
|
||||
<div class="input_search">
|
||||
<input class="search-box" type="text" value="" v-model="searchText1">
|
||||
<input class="search-box" type="text" value="" v-model="searchText1" maxlength="100">
|
||||
<button type="button" class="button btn-p2color" @click="adminList">조회</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<!-- <div class="wrap bg-wrap"> -->
|
||||
<div>
|
||||
<div class="dimmed" @click="apprDetailPopClose"></div>
|
||||
<div class="popup-wrap">
|
||||
<div class="dimmed modal55" @click="apprDetailPopClose"></div>
|
||||
<div class="popup-wrap modal55">
|
||||
<!-- 발신번호 상세 (타사업자)-->
|
||||
<div class="popup modal55 popup_form">
|
||||
<div class="pop-head">
|
||||
@@ -137,14 +137,10 @@ export default {
|
||||
// 모달 띄우기
|
||||
apprDetailPopOpen(props){
|
||||
|
||||
// this.formReset();
|
||||
var dimmed = document.getElementsByClassName('dimmed');
|
||||
dimmed[0].style.display = 'block';
|
||||
var wrap = document.getElementsByClassName('popup-wrap');
|
||||
wrap[0].style.display = 'block';
|
||||
var obj = document.getElementsByClassName('modal55');
|
||||
obj[0].style.display = 'block';
|
||||
|
||||
var dimmed = document.getElementsByClassName('modal55');
|
||||
for (var i = 0; i < dimmed.length; i++) {
|
||||
dimmed[i].style.display = 'block';
|
||||
}
|
||||
this.apprDetail(props);
|
||||
|
||||
},
|
||||
@@ -198,12 +194,10 @@ export default {
|
||||
},
|
||||
// 모달 끄기
|
||||
apprDetailPopClose(){
|
||||
var dimmed = document.getElementsByClassName('dimmed');
|
||||
dimmed[0].style.display = 'none';
|
||||
var wrap = document.getElementsByClassName('popup-wrap');
|
||||
wrap[0].style.display = 'none';
|
||||
var popup = document.getElementsByClassName('modal55');
|
||||
popup[0].style.display = 'none';
|
||||
var dimmed = document.getElementsByClassName('modal55');
|
||||
for (var i = 0; i < dimmed.length; i++) {
|
||||
dimmed[i].style.display = 'none';
|
||||
}
|
||||
},
|
||||
allApprSttus(event) {
|
||||
var data = event.target.value;
|
||||
|
||||
@@ -1,113 +1,124 @@
|
||||
<template>
|
||||
<!-- <div class="wrap bg-wrap"> -->
|
||||
<div>
|
||||
<div class="dimmed" @click="numberRegPopClose();"></div>
|
||||
<!-- <div class="wrap bg-wrap"> -->
|
||||
<div>
|
||||
<div class="dimmed" @click="numberRegPopClose();"></div>
|
||||
<!-- 발신번호 등록 (타사업자)-->
|
||||
<div class="popup modal52 popup_form register w700">
|
||||
<div class="pop-head">
|
||||
<h3 class="pop-tit">발신번호 등록</h3>
|
||||
</div>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>관리자 ID</th>
|
||||
<td>
|
||||
<div class="input_search">
|
||||
<input class="search-box" type="text" placeholder="아이디 입력" disabled v-model="adminId">
|
||||
<button type="button" class="button btn-p2color" @click="searchIdPop">조회</button>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>관리자 ID</th>
|
||||
<td>
|
||||
<div class="input_search">
|
||||
<input class="search-box" type="text" placeholder="아이디 입력" disabled v-model="adminId">
|
||||
<button type="button" class="button btn-p2color" @click="searchIdPop">조회</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>고객사명</th>
|
||||
<td><input type="text" disabled v-model="custNm"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>사업자번호</th>
|
||||
<td><input type="text" disabled v-model="bRegNo"></td>
|
||||
</tr>
|
||||
<tr v-show="bizrAuthYn !== 'Y'">
|
||||
<th>명의자 구분</th>
|
||||
<td>
|
||||
<input type="radio" name="nmineeDivCd" value="01" id="popup_radio5" v-model="nmineeDivCd"
|
||||
@change="changeNmineDiv($event)">
|
||||
<label for="popup_radio5">사업자</label>
|
||||
<input type="radio" name="nmineeDivCd" value="02" id="popup_radio6" v-model="nmineeDivCd"
|
||||
@change="changeNmineDiv($event)">
|
||||
<label for="popup_radio6">타사업자</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>발신번호</th>
|
||||
<td>
|
||||
<div class="input_add">
|
||||
<div>
|
||||
<input type="text" placeholder="발신번호명" v-model="sendNm" maxlength="20">
|
||||
<input type="text" placeholder="발신번호(숫자만입력)" v-model="sendNum" @keypress="onlyNum" @input="onlyNum"
|
||||
maxlength="11">
|
||||
<button class="button white add" @click="addNumberInput"></button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>고객사명</th>
|
||||
<td><input type="text" disabled v-model="custNm"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>사업자번호</th>
|
||||
<td><input type="text" disabled v-model="bRegNo"></td>
|
||||
</tr>
|
||||
<tr v-show="bizrAuthYn !== 'Y'">
|
||||
<th>명의자 구분</th>
|
||||
<td>
|
||||
<input type="radio" name="nmineeDivCd" value="01" id="popup_radio5" v-model="nmineeDivCd" @change="changeNmineDiv($event)">
|
||||
<label for="popup_radio5">사업자</label>
|
||||
<input type="radio" name="nmineeDivCd" value="02" id="popup_radio6" v-model="nmineeDivCd" @change="changeNmineDiv($event)">
|
||||
<label for="popup_radio6">타사업자</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>발신번호</th>
|
||||
<td>
|
||||
<div class="input_add">
|
||||
<div>
|
||||
<input type="text" placeholder="발신번호명" v-model="sendNm" maxlength="20">
|
||||
<input type="text" placeholder="발신번호(숫자만입력)" v-model="sendNum" v-on:keyup="onlyNum" @input="onlyNum" maxlength="16">
|
||||
<button class="button white add" @click="addNumberInput"></button>
|
||||
</div>
|
||||
<div v-for="(numberInput, index) in numberInputs">
|
||||
<input type="text" placeholder="발신번호명" v-model="numberInput.sendNm" maxlength="20">
|
||||
<input type="text" placeholder="발신번호(숫자만입력)" v-model="numberInput.sendNum" v-on:keyup="onlyNum" @input="onlyNum" maxlength="16">
|
||||
</div>
|
||||
<div v-for="(numberInput, index) in numberInputs">
|
||||
<input type="text" placeholder="발신번호명" v-model="numberInput.sendNm" maxlength="20">
|
||||
<input type="text" placeholder="발신번호(숫자만입력)" v-model="numberInput.sendNum" @keypress="onlyNum"
|
||||
@input="onlyNum" maxlength="11">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-show="bizrAuthYn !== 'Y'">
|
||||
<th>제출서류</th>
|
||||
<td>
|
||||
<div class="attach" v-show="fileType === 2">
|
||||
<p class="essential list"><span>*</span>위임-수임관계 확인 서류</p>
|
||||
<input type="file" ref="trustFile" style="display: none" @change="readTrustFile" accept=".jpg,.png,.pdf,.tiff"/>
|
||||
<button class="button btn-p2color" @click="$refs.trustFile.click()">파일업로드</button>
|
||||
<p class="file" id="trustNm"></p>
|
||||
</div>
|
||||
<div class="attach" v-show="fileType === 2">
|
||||
<p class="essential list"><span>*</span>위임장</p>
|
||||
<input type="file" ref="warrantFile" style="display: none" @change="readWarrantFile" accept=".jpg,.png,.pdf,.tiff"/>
|
||||
<button class="button btn-p2color" @click="$refs.warrantFile.click()">파일업로드</button>
|
||||
<p class="file" id="warrantNm"></p>
|
||||
</div>
|
||||
<div class="attach" v-show="fileType === 2">
|
||||
<p class="essential list"><span>*</span>대리인 신분증 사본 인증</p>
|
||||
<input type="file" ref="deputyFile" style="display: none" @change="readDeputyFile" accept=".jpg,.png,.pdf,.tiff"/>
|
||||
<button class="button btn-p2color" @click="$refs.deputyFile.click()">파일업로드</button>
|
||||
<p class="file" id="deputyNm"></p>
|
||||
</div>
|
||||
<div class="attach">
|
||||
<p class="essential list"><span>*</span>통신서비스 이용증명원</p>
|
||||
<input type="file" ref="communicationFile" style="display: none" @change="readCommunicationFile" accept=".jpg,.png,.pdf,.tiff"/>
|
||||
<button class="button btn-p2color" @click="$refs.communicationFile.click()">파일업로드</button>
|
||||
<p class="file" id="communicationNm"></p>
|
||||
</div>
|
||||
<div class="attach">
|
||||
<p class="essential list"><span>*</span>재직증명서</p>
|
||||
<input type="file" ref="tenureFile" style="display: none" @change="readTenureFile" accept=".jpg,.png,.pdf,.tiff"/>
|
||||
<button class="button btn-p2color" @click="$refs.tenureFile.click()">파일업로드</button>
|
||||
<p class="file" id="tenureNm"></p>
|
||||
</div>
|
||||
<div class="attach" v-show="fileType === 2">
|
||||
<p class="essential list"><span>*</span>사업자등록증</p>
|
||||
<input type="file" ref="otherBusinessFile" style="display: none" @change="readOtherBusinessFile" accept=".jpg,.png,.pdf,.tiff"/>
|
||||
<button class="button btn-p2color" @click="$refs.otherBusinessFile.click()">파일업로드</button>
|
||||
<p class="file" id="otherBusinessNm"></p>
|
||||
</div>
|
||||
<p class="file">파일형식 : jpg, png, pdf, tiff (최대 5MB)</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>사업자 등록증</th>
|
||||
<td v-show="bizrAuthYn !== 'Y'">
|
||||
<div class="attach">
|
||||
<p class="essential list"><span>*</span>사업자등록증</p>
|
||||
<input type="file" ref="businessFile" style="display: none" @change="readBusinessFile" accept=".jpg,.png,.pdf,.tiff"/>
|
||||
<button class="button btn-p2color" @click="$refs.businessFile.click()">파일업로드</button>
|
||||
<p class="file" id="businessNm"></p>
|
||||
</div>
|
||||
<p class="file">파일형식 : jpg, png, pdf, tiff (최대 5MB)</p>
|
||||
</td>
|
||||
<td class="red" v-show="bizrAuthYn === 'Y'">인증 완료</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-show="bizrAuthYn !== 'Y'">
|
||||
<th>제출서류</th>
|
||||
<td>
|
||||
<div class="attach" v-show="fileType === 2">
|
||||
<p class="essential list"><span>*</span>위임-수임관계 확인 서류</p>
|
||||
<input type="file" ref="trustFile" style="display: none" @change="readTrustFile"
|
||||
accept=".jpg,.png,.pdf,.tiff"/>
|
||||
<button class="button btn-p2color" @click="$refs.trustFile.click()">파일업로드</button>
|
||||
<p class="file" id="trustNm"></p>
|
||||
</div>
|
||||
<div class="attach" v-show="fileType === 2">
|
||||
<p class="essential list"><span>*</span>위임장</p>
|
||||
<input type="file" ref="warrantFile" style="display: none" @change="readWarrantFile"
|
||||
accept=".jpg,.png,.pdf,.tiff"/>
|
||||
<button class="button btn-p2color" @click="$refs.warrantFile.click()">파일업로드</button>
|
||||
<p class="file" id="warrantNm"></p>
|
||||
</div>
|
||||
<div class="attach" v-show="fileType === 2">
|
||||
<p class="essential list"><span>*</span>대리인 신분증 사본 인증</p>
|
||||
<input type="file" ref="deputyFile" style="display: none" @change="readDeputyFile"
|
||||
accept=".jpg,.png,.pdf,.tiff"/>
|
||||
<button class="button btn-p2color" @click="$refs.deputyFile.click()">파일업로드</button>
|
||||
<p class="file" id="deputyNm"></p>
|
||||
</div>
|
||||
<div class="attach">
|
||||
<p class="essential list"><span>*</span>통신서비스 이용증명원</p>
|
||||
<input type="file" ref="communicationFile" style="display: none" @change="readCommunicationFile"
|
||||
accept=".jpg,.png,.pdf,.tiff"/>
|
||||
<button class="button btn-p2color" @click="$refs.communicationFile.click()">파일업로드</button>
|
||||
<p class="file" id="communicationNm"></p>
|
||||
</div>
|
||||
<div class="attach">
|
||||
<p class="essential list"><span>*</span>재직증명서</p>
|
||||
<input type="file" ref="tenureFile" style="display: none" @change="readTenureFile"
|
||||
accept=".jpg,.png,.pdf,.tiff"/>
|
||||
<button class="button btn-p2color" @click="$refs.tenureFile.click()">파일업로드</button>
|
||||
<p class="file" id="tenureNm"></p>
|
||||
</div>
|
||||
<div class="attach" v-show="fileType === 2">
|
||||
<p class="essential list"><span>*</span>사업자등록증</p>
|
||||
<input type="file" ref="otherBusinessFile" style="display: none" @change="readOtherBusinessFile"
|
||||
accept=".jpg,.png,.pdf,.tiff"/>
|
||||
<button class="button btn-p2color" @click="$refs.otherBusinessFile.click()">파일업로드</button>
|
||||
<p class="file" id="otherBusinessNm"></p>
|
||||
</div>
|
||||
<p class="file">파일형식 : jpg, png, pdf, tiff (최대 5MB)</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>사업자 등록증</th>
|
||||
<td v-show="bizrAuthYn !== 'Y'">
|
||||
<div class="attach">
|
||||
<p class="essential list"><span>*</span>사업자등록증</p>
|
||||
<input type="file" ref="businessFile" style="display: none" @change="readBusinessFile"
|
||||
accept=".jpg,.png,.pdf,.tiff"/>
|
||||
<button class="button btn-p2color" @click="$refs.businessFile.click()">파일업로드</button>
|
||||
<p class="file" id="businessNm"></p>
|
||||
</div>
|
||||
<p class="file">파일형식 : jpg, png, pdf, tiff (최대 5MB)</p>
|
||||
</td>
|
||||
<td class="red" v-show="bizrAuthYn === 'Y'">인증 완료</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="popup-btn2">
|
||||
<button class="btn-pcolor" @click="saveSendNum">저장</button>
|
||||
<button class="btn-default" @click="numberRegPopClose();">취소</button>
|
||||
@@ -116,65 +127,65 @@
|
||||
<admin-list-pop ref="admnListPop" :send-data="childData" @event-data="setChildData"/>
|
||||
<common-modal ref="commmonModal2"></common-modal>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import AdminListPop from "@/modules/sendNumMgt/components/AdminListPop";
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||
import commonModal from "@/components/modal/commonModal";
|
||||
import sendNumMgtApi from "@/modules/sendNumMgt/service/sendNumMgtApi";
|
||||
|
||||
export default {
|
||||
name: "numberRegPop",
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
watch:{
|
||||
nmineeDivCd(){
|
||||
watch: {
|
||||
nmineeDivCd() {
|
||||
console.log('watch : ', this.nmineeDivCd)
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
row: {},
|
||||
adminId:'',
|
||||
custNm:'',
|
||||
bRegNo:'',
|
||||
data() {
|
||||
return {
|
||||
row: {},
|
||||
adminId: '',
|
||||
custNm: '',
|
||||
bRegNo: '',
|
||||
bizrAuthYn: '',
|
||||
custSeq: '',
|
||||
nmineeDivCd:'01',
|
||||
nmineeDivCd: '01',
|
||||
sendNm: '',
|
||||
sendNum: '',
|
||||
numberInputs: [],
|
||||
saveSendNums: [],
|
||||
fileType:1,
|
||||
fileType: 1,
|
||||
trustFile: null,
|
||||
warrantFile: null,
|
||||
deputyFile: null,
|
||||
tenureFile: null,
|
||||
businessFile: null,
|
||||
communicationFile: null,
|
||||
otherBusinessFile:null,
|
||||
otherBusinessFile: null,
|
||||
childData: 20,
|
||||
reqCnt:0,
|
||||
reqCnt: 0,
|
||||
}
|
||||
},
|
||||
components: {
|
||||
components: {
|
||||
AdminListPop,
|
||||
commonModal,
|
||||
},
|
||||
model: {
|
||||
prop: 'sendData',
|
||||
event: 'event-data'
|
||||
},
|
||||
props: ['sendData'],
|
||||
created(){
|
||||
this.formReset();
|
||||
model: {
|
||||
prop: 'sendData',
|
||||
event: 'event-data'
|
||||
},
|
||||
methods :{
|
||||
searchIdPop(){
|
||||
props: ['sendData'],
|
||||
created() {
|
||||
this.formReset();
|
||||
},
|
||||
methods: {
|
||||
searchIdPop() {
|
||||
this.$refs.admnListPop.adminNmPopOpen();
|
||||
},
|
||||
setChildData (data) {
|
||||
},
|
||||
setChildData(data) {
|
||||
console.log(data)
|
||||
this.adminId = data.adminId
|
||||
this.custNm = data.custNm
|
||||
@@ -182,50 +193,50 @@ export default {
|
||||
this.bizrAuthYn = data.bizrAuthYn
|
||||
this.custSeq = data.custSeq
|
||||
},
|
||||
addNumberInput(){
|
||||
addNumberInput() {
|
||||
this.numberInputs.push({
|
||||
sendNm: '',
|
||||
sendNum: ''
|
||||
})
|
||||
},
|
||||
delNumberInput(index){
|
||||
this.numberInputs.splice(index,1)
|
||||
delNumberInput(index) {
|
||||
this.numberInputs.splice(index, 1)
|
||||
},
|
||||
changeNmineDiv(event){
|
||||
changeNmineDiv(event) {
|
||||
var data = event.target.value;
|
||||
console.log(data)
|
||||
if(data === '01'){
|
||||
if (data === '01') {
|
||||
this.fileType = 1
|
||||
}
|
||||
if(data === '02'){
|
||||
if (data === '02') {
|
||||
this.fileType = 2
|
||||
}
|
||||
},
|
||||
// 모달 띄우기
|
||||
numberRegPopopen(){
|
||||
this.formReset();
|
||||
var dimmed = document.getElementsByClassName('dimmed');
|
||||
dimmed[0].style.display = 'block';
|
||||
var wrap = document.getElementsByClassName('popup-wrap');
|
||||
wrap[0].style.display = 'block';
|
||||
var obj = document.getElementsByClassName('modal52');
|
||||
obj[0].style.display = 'block';
|
||||
},
|
||||
// 모달 끄기
|
||||
numberRegPopClose(){
|
||||
var dimmed = document.getElementsByClassName('dimmed');
|
||||
dimmed[0].style.display = 'none';
|
||||
var wrap = document.getElementsByClassName('popup-wrap');
|
||||
wrap[0].style.display = 'none';
|
||||
var popup = document.getElementsByClassName('modal52');
|
||||
popup[0].style.display = 'none';
|
||||
|
||||
},
|
||||
formReset(){
|
||||
Object.assign(this.$data, this.$options.data());
|
||||
},
|
||||
// 모달 띄우기
|
||||
numberRegPopopen() {
|
||||
this.formReset();
|
||||
var dimmed = document.getElementsByClassName('dimmed');
|
||||
dimmed[0].style.display = 'block';
|
||||
var wrap = document.getElementsByClassName('popup-wrap');
|
||||
wrap[0].style.display = 'block';
|
||||
var obj = document.getElementsByClassName('modal52');
|
||||
obj[0].style.display = 'block';
|
||||
},
|
||||
// 모달 끄기
|
||||
numberRegPopClose() {
|
||||
var dimmed = document.getElementsByClassName('dimmed');
|
||||
dimmed[0].style.display = 'none';
|
||||
var wrap = document.getElementsByClassName('popup-wrap');
|
||||
wrap[0].style.display = 'none';
|
||||
var popup = document.getElementsByClassName('modal52');
|
||||
popup[0].style.display = 'none';
|
||||
|
||||
},
|
||||
formReset() {
|
||||
Object.assign(this.$data, this.$options.data());
|
||||
},
|
||||
// 위임-수임
|
||||
readTrustFile(event){
|
||||
readTrustFile(event) {
|
||||
const file = event.target.files[0];
|
||||
console.log(file.name);
|
||||
|
||||
@@ -242,9 +253,9 @@ export default {
|
||||
root.appendChild(button);
|
||||
this.trustFile = file;
|
||||
},
|
||||
delTrustFile(event){
|
||||
delTrustFile(event) {
|
||||
const file = event.target.files[0];
|
||||
this.$refs.trustFile.value=null;
|
||||
this.$refs.trustFile.value = null;
|
||||
let element = document.getElementById("trustNm");
|
||||
while (element.firstChild) {
|
||||
element.removeChild(element.firstChild);
|
||||
@@ -252,7 +263,7 @@ export default {
|
||||
this.trustFile = null;
|
||||
},
|
||||
// 위임장
|
||||
readWarrantFile(event){
|
||||
readWarrantFile(event) {
|
||||
const file = event.target.files[0];
|
||||
|
||||
// inner Html.
|
||||
@@ -268,9 +279,9 @@ export default {
|
||||
root.appendChild(button);
|
||||
this.warrantFile = file;
|
||||
},
|
||||
delWarrantFile(event){
|
||||
delWarrantFile(event) {
|
||||
const file = event.target.files[0];
|
||||
this.$refs.warrantFile.value=null;
|
||||
this.$refs.warrantFile.value = null;
|
||||
let element = document.getElementById("warrantNm");
|
||||
while (element.firstChild) {
|
||||
element.removeChild(element.firstChild);
|
||||
@@ -278,7 +289,7 @@ export default {
|
||||
this.warrantFile = null;
|
||||
},
|
||||
// 대리인
|
||||
readDeputyFile(event){
|
||||
readDeputyFile(event) {
|
||||
const file = event.target.files[0];
|
||||
|
||||
// inner Html.
|
||||
@@ -296,9 +307,9 @@ export default {
|
||||
this.deputyFile = file
|
||||
|
||||
},
|
||||
delDeputyFile(event){
|
||||
delDeputyFile(event) {
|
||||
const file = event.target.files[0];
|
||||
this.$refs.deputyFile.value=null;
|
||||
this.$refs.deputyFile.value = null;
|
||||
let element = document.getElementById("deputyNm");
|
||||
while (element.firstChild) {
|
||||
element.removeChild(element.firstChild);
|
||||
@@ -306,7 +317,7 @@ export default {
|
||||
this.deputyFile = null;
|
||||
},
|
||||
// 재직
|
||||
readTenureFile(event){
|
||||
readTenureFile(event) {
|
||||
const file = event.target.files[0];
|
||||
|
||||
// inner Html.
|
||||
@@ -322,9 +333,9 @@ export default {
|
||||
root.appendChild(button);
|
||||
this.tenureFile = file;
|
||||
},
|
||||
delTenureFile(event){
|
||||
delTenureFile(event) {
|
||||
const file = event.target.files[0];
|
||||
this.$refs.tenureFile.value=null;
|
||||
this.$refs.tenureFile.value = null;
|
||||
let element = document.getElementById("tenureNm");
|
||||
while (element.firstChild) {
|
||||
element.removeChild(element.firstChild);
|
||||
@@ -332,7 +343,7 @@ export default {
|
||||
this.tenureFile = null;
|
||||
},
|
||||
//사업자 등록증.
|
||||
readBusinessFile(event){
|
||||
readBusinessFile(event) {
|
||||
const file = event.target.files[0];
|
||||
|
||||
// inner Html.
|
||||
@@ -348,9 +359,9 @@ export default {
|
||||
root.appendChild(button);
|
||||
this.businessFile = file;
|
||||
},
|
||||
delBusinessFile(event){
|
||||
delBusinessFile(event) {
|
||||
const file = event.target.files[0];
|
||||
this.$refs.businessFile.value=null;
|
||||
this.$refs.businessFile.value = null;
|
||||
let element = document.getElementById("businessNm");
|
||||
while (element.firstChild) {
|
||||
element.removeChild(element.firstChild);
|
||||
@@ -358,7 +369,7 @@ export default {
|
||||
this.businessFile = null;
|
||||
},
|
||||
//통신서비스 증명원
|
||||
readCommunicationFile(event){
|
||||
readCommunicationFile(event) {
|
||||
const file = event.target.files[0];
|
||||
|
||||
// inner Html.
|
||||
@@ -374,9 +385,9 @@ export default {
|
||||
root.appendChild(button);
|
||||
this.communicationFile = file;
|
||||
},
|
||||
delCommunicationFile(event){
|
||||
delCommunicationFile(event) {
|
||||
const file = event.target.files[0];
|
||||
this.$refs.communicationFile.value=null;
|
||||
this.$refs.communicationFile.value = null;
|
||||
let element = document.getElementById("communicationNm");
|
||||
while (element.firstChild) {
|
||||
element.removeChild(element.firstChild);
|
||||
@@ -384,7 +395,7 @@ export default {
|
||||
this.communicationFile = null;
|
||||
},
|
||||
// 타사업자 등록증
|
||||
readOtherBusinessFile(event){
|
||||
readOtherBusinessFile(event) {
|
||||
const file = event.target.files[0];
|
||||
|
||||
// inner Html.
|
||||
@@ -400,16 +411,16 @@ export default {
|
||||
root.appendChild(button);
|
||||
this.otherBusinessFile = file;
|
||||
},
|
||||
delOtherBusinessFile(event){
|
||||
delOtherBusinessFile(event) {
|
||||
const file = event.target.files[0];
|
||||
this.$refs.otherBusinessFile.value=null;
|
||||
this.$refs.otherBusinessFile.value = null;
|
||||
let element = document.getElementById("otherBusinessNm");
|
||||
while (element.firstChild) {
|
||||
element.removeChild(element.firstChild);
|
||||
}
|
||||
this.otherBusinessFile = null;
|
||||
},
|
||||
async saveSendNum(){
|
||||
async saveSendNum() {
|
||||
|
||||
|
||||
this.saveSendNums = []
|
||||
@@ -418,7 +429,7 @@ export default {
|
||||
sendNum: this.sendNum
|
||||
})
|
||||
|
||||
if(this.numberInputs.length > 0){
|
||||
if (this.numberInputs.length > 0) {
|
||||
this.numberInputs.forEach(element =>
|
||||
this.saveSendNums.push({
|
||||
sendNm: element.sendNm,
|
||||
@@ -429,9 +440,9 @@ export default {
|
||||
this.doValidate();
|
||||
// console.log(this.custSeq)
|
||||
console.log(this.$data)
|
||||
if(this.bizrAuthYn !== 'Y'){
|
||||
if(this.nmineeDivCd === '01'){
|
||||
// 사업자
|
||||
if (this.bizrAuthYn !== 'Y') {
|
||||
if (this.nmineeDivCd === '01') {
|
||||
// 사업자
|
||||
const response = await sendNumMgtApi.insertNumber1(this.tenureFile, this.businessFile, this.communicationFile, this.adminId, this.custNm, this.bRegNo, this.nmineeDivCd, this.saveSendNums, this.bizrAuthYn, this.custSeq)
|
||||
const result = response.data;
|
||||
console.log(result)
|
||||
@@ -439,7 +450,7 @@ export default {
|
||||
this.toComplete()
|
||||
}
|
||||
|
||||
}else if(this.nmineeDivCd === '02'){
|
||||
} else if (this.nmineeDivCd === '02') {
|
||||
const response = await sendNumMgtApi.insertNumber2(this.trustFile, this.warrantFile, this.deputyFile, this.tenureFile, this.otherBusinessFile, this.businessFile, this.adminId, this.custNm, this.bRegNo, this.nmineeDivCd, this.saveSendNums, this.bizrAuthYn, this.custSeq)
|
||||
const result = response.data;
|
||||
console.log(result)
|
||||
@@ -448,7 +459,7 @@ export default {
|
||||
}
|
||||
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
const response = await sendNumMgtApi.insertNumber(this.adminId, this.custNm, this.bRegNo, this.nmineeDivCd, this.saveSendNums, this.bizrAuthYn, this.custSeq)
|
||||
const result = response.data;
|
||||
console.log(result)
|
||||
@@ -457,17 +468,17 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
doValidate(){
|
||||
doValidate() {
|
||||
|
||||
|
||||
if(this.isNull(this.adminId) || this.isNull(this.custNm) || this.isNull(this.bRegNo)){
|
||||
if (this.isNull(this.adminId) || this.isNull(this.custNm) || this.isNull(this.bRegNo)) {
|
||||
this.row.title = '발신번호 등록';
|
||||
this.row.msg1 = '관리자ID를 조회 해주세요.';
|
||||
this.getParent('NumberList').commonModalOpen(this.row)
|
||||
// this.$refs.commmonModal2.alertModalOpen(this.row);
|
||||
return false;
|
||||
}
|
||||
if(this.isNull(this.sendNm) || this.isNull(this.sendNum)){
|
||||
if (this.isNull(this.sendNm) || this.isNull(this.sendNum)) {
|
||||
this.row.title = '발신번호 등록';
|
||||
this.row.msg1 = '발신번호명/발신번호를 입력해 주세요.';
|
||||
this.$refs.commmonModal2.alertModalOpen(this.row);
|
||||
@@ -480,7 +491,7 @@ export default {
|
||||
// return false;
|
||||
// }
|
||||
},
|
||||
toComplete(){
|
||||
toComplete() {
|
||||
this.getParent('numberList').$refs.table.reloadData();
|
||||
this.numberRegPopClose();
|
||||
},
|
||||
|
||||
183
frontend/src/modules/sendNumMgt/components/commonModal.vue
Normal file
183
frontend/src/modules/sendNumMgt/components/commonModal.vue
Normal file
@@ -0,0 +1,183 @@
|
||||
<template>
|
||||
<!-- <div class="wrap bg-wrap"> -->
|
||||
<div>
|
||||
|
||||
<div class="dimmed alertCommon" @click="alertModalCancel();"></div>
|
||||
<div class="popup-wrap alertCommon">
|
||||
<!-- 로그인실패: 확인 -->
|
||||
<div class="popup alertCommon">
|
||||
<div class="pop-head">
|
||||
<h3 class="pop-tit">{{title}}</h3>
|
||||
</div>
|
||||
<div class="pop-cont">
|
||||
<p>{{ msg1 }}</p>
|
||||
<p v-if="msg2 !== ''">{{ msg2 }}</p>
|
||||
<p v-if="msg3 !== ''">{{ msg3 }}</p>
|
||||
<p v-if="msg4 !== ''">{{ msg4 }}</p>
|
||||
</div>
|
||||
<div class="popup-btn1">
|
||||
<button class="btn-pcolor" @click="alertModalClose();">확인</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dimmed confirm" @click="confirmModalCancel();"></div>
|
||||
<div class="popup-wrap confirm">
|
||||
<!-- 수정 확인 -->
|
||||
<div class="popup confirm">
|
||||
<div class="pop-head">
|
||||
<h3 class="pop-tit">{{title}}</h3>
|
||||
</div>
|
||||
<div class="pop-cont">
|
||||
<p>{{ msg1 }}</p>
|
||||
<p v-if="msg2 !== ''">{{ msg2 }}</p>
|
||||
<p v-if="msg3 !== ''">{{ msg3 }}</p>
|
||||
<p v-if="msg4 !== ''">{{ msg4 }}</p>
|
||||
</div>
|
||||
<div class="popup-btn2">
|
||||
<button class="btn-pcolor" @click="confirmModalClose();">확인</button>
|
||||
<button class="btn-default" @click="confirmModalCancel();">취소</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dimmed confirm2" @click="confirmModalCancel2();"></div>
|
||||
<div class="popup-wrap confirm2">
|
||||
<!-- 수정 확인 -->
|
||||
<div class="popup confirm2">
|
||||
<div class="pop-head">
|
||||
<h3 class="popup-tit">{{title}}</h3>
|
||||
</div>
|
||||
<div class="pop-cont">
|
||||
<p>{{ msg1 }}</p>
|
||||
<p v-if="msg2 !== ''">{{ msg2 }}</p>
|
||||
<p v-if="msg3 !== ''">{{ msg3 }}</p>
|
||||
<p v-if="msg4 !== ''">{{ msg4 }}</p>
|
||||
</div>
|
||||
<div class="popup-btn2">
|
||||
<button class="btn-pcolor" @click="confirmModalClose2();">확인</button>
|
||||
<button class="btn-default" @click="confirmModalCancel2();">취소</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name: "confirm",
|
||||
data(){
|
||||
return{
|
||||
row:{},
|
||||
title:'',
|
||||
msg1: '',
|
||||
msg2: '',
|
||||
msg3: '',
|
||||
msg4: '',
|
||||
}
|
||||
},
|
||||
methods :{
|
||||
alertModalOpen(props){
|
||||
console.log("@@@@@@@@@@")
|
||||
console.log(props)
|
||||
var dimmed = document.getElementsByClassName('alertCommon');
|
||||
for(var i = 0; i < dimmed.length; i++){
|
||||
dimmed[i].style.display = 'block';
|
||||
}
|
||||
this.title = props.title;
|
||||
this.msg1 = props.msg1;
|
||||
this.msg2 = props.msg2;
|
||||
this.msg3 = props.msg3;
|
||||
this.msg4 = props.msg4;
|
||||
},
|
||||
alertModalClose(){
|
||||
var dimmed = document.getElementsByClassName('alertCommon');
|
||||
for(var i = 0; i < dimmed.length; i++){
|
||||
dimmed[i].style.display = 'none';
|
||||
}
|
||||
},
|
||||
alertModalCancel(){
|
||||
var dimmed = document.getElementsByClassName('alertCommon');
|
||||
for(var i = 0; i < dimmed.length; i++){
|
||||
dimmed[i].style.display = 'none';
|
||||
}
|
||||
},
|
||||
// 모달 오픈
|
||||
confirmModalOpen(props){
|
||||
var dimmed = document.getElementsByClassName('confirm');
|
||||
for(var i = 0; i < dimmed.length; i++){
|
||||
dimmed[i].style.display = 'block';
|
||||
}
|
||||
|
||||
this.title = props.title;
|
||||
this.msg1 = props.msg1;
|
||||
this.msg2 = props.msg2;
|
||||
this.msg3 = props.msg3;
|
||||
this.msg4 = props.msg4;
|
||||
},
|
||||
confirmModalOpen2(props){
|
||||
var dimmed = document.getElementsByClassName('confirm2');
|
||||
for(var i = 0; i < dimmed.length; i++){
|
||||
dimmed[i].style.display = 'block';
|
||||
}
|
||||
|
||||
this.title = props.title;
|
||||
this.msg1 = props.msg1;
|
||||
this.msg2 = props.msg2;
|
||||
this.msg3 = props.msg3;
|
||||
this.msg4 = props.msg4;
|
||||
},
|
||||
// 모달 끄기(ok)
|
||||
confirmModalClose(){
|
||||
var dimmed = document.getElementsByClassName('confirm');
|
||||
for(var i = 0; i < dimmed.length; i++){
|
||||
dimmed[i].style.display = 'none';
|
||||
}
|
||||
|
||||
this.row.result = true;
|
||||
// 부모 함수 호출.
|
||||
this.$parent.confirmCalbackFnc(this.row);
|
||||
},
|
||||
// 모달 끄기(ok)
|
||||
confirmModalClose2(){
|
||||
var dimmed = document.getElementsByClassName('confirm2');
|
||||
for(var i = 0; i < dimmed.length; i++){
|
||||
dimmed[i].style.display = 'none';
|
||||
}
|
||||
|
||||
this.row.result = true;
|
||||
// 부모 함수 호출.
|
||||
this.$parent.confirmCalbackFnc(this.row);
|
||||
},
|
||||
// 모달 끄기(취소)
|
||||
confirmModalCancel(){
|
||||
var dimmed = document.getElementsByClassName('confirm');
|
||||
for(var i = 0; i < dimmed.length; i++){
|
||||
dimmed[i].style.display = 'none';
|
||||
}
|
||||
|
||||
this.row.result = false;
|
||||
// 부모 함수 호출.
|
||||
this.$parent.confirmCalbackFnc(this.row);
|
||||
},
|
||||
// 모달 끄기(취소)
|
||||
confirmModalCancel2(){
|
||||
var dimmed = document.getElementsByClassName('confirm2');
|
||||
for(var i = 0; i < dimmed.length; i++){
|
||||
dimmed[i].style.display = 'none';
|
||||
}
|
||||
|
||||
this.row.result = false;
|
||||
// 부모 함수 호출.
|
||||
this.$parent.confirmCalbackFnc(this.row);
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.popup-btn-wrap {width: 500px; margin: auto; padding: 100px 0;}
|
||||
.popup-btn-wrap button {width: 100%; margin-bottom: 10px; height: 50px; border-radius: 5px; box-shadow: none; border: 1px solid #000; }
|
||||
.popup-btn-wrap button:hover {background: #000; color: #fff;}
|
||||
</style>
|
||||
@@ -6,38 +6,38 @@
|
||||
<h3 class="title">발신번호 승인</h3>
|
||||
<p class="breadcrumb">발신번호관리 > 발신번호 승인</p>
|
||||
</div>
|
||||
<form autocomplete="off" class="search_form">
|
||||
<div class="search_wrap">
|
||||
<div class="group">
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">상태</label>
|
||||
<select name="" id="" v-model="searchType1" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">승인대기</option>
|
||||
<option value="02">처리완료</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input_box">
|
||||
<label for="right" class="label">사업자번호</label>
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText1" @keyup.enter="search"/>
|
||||
</div>
|
||||
<div class="select_box id">
|
||||
<label for="right" class="label">명의자 구분</label>
|
||||
<select name="" id="" v-model="searchType2" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">사업자</option>
|
||||
<option value="02">타사업자</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input_box">
|
||||
<label for="right" class="label">고객사명</label>
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText2" @keyup.enter="search"/>
|
||||
</div>
|
||||
<button type="button" class="button grey" @click="search">조회</button>
|
||||
<div class="search_wrap">
|
||||
<div class="group">
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">상태</label>
|
||||
<select name="" id="" v-model="searchType1" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">승인대기</option>
|
||||
<option value="02">처리완료</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="input_box">
|
||||
<label for="right" class="label">사업자번호</label>
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText1"
|
||||
@keypress="onlyNum" @input="onlyNum" maxlength="10" @keyup.enter="search"/>
|
||||
</div>
|
||||
<div class="select_box id">
|
||||
<label for="right" class="label">명의자 구분</label>
|
||||
<select name="" id="" v-model="searchType2" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">사업자</option>
|
||||
<option value="02">타사업자</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input_box">
|
||||
<label for="right" class="label">고객사명</label>
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력"
|
||||
v-model.trim="grid.params.searchText2"
|
||||
@keyup.enter="search" maxlength="100"/>
|
||||
</div>
|
||||
<button type="button" class="button grey" @click="search">조회</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="info">
|
||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||
<div class="select_box NumberSe">
|
||||
@@ -65,7 +65,7 @@
|
||||
></custom-grid>
|
||||
</div>
|
||||
|
||||
<appr-detail-pop ref="apprDetailPop" />
|
||||
<appr-detail-pop ref="apprDetailPop"/>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -74,26 +74,7 @@
|
||||
<script>
|
||||
import customGrid from '@/components/CustomGrid';
|
||||
import ApprDetailPop from "@/modules/sendNumMgt/components/ApprDetailPop";
|
||||
|
||||
class customBRegNo {
|
||||
constructor(props) {
|
||||
this.props = props;
|
||||
const el = document.createElement('td');
|
||||
var bizrno = String(props.colValue);
|
||||
el.innerText= bizrno;
|
||||
if(bizrno.length == 10){
|
||||
el.innerText= bizrno.substring(0,3)+'-'+bizrno.substring(3,5)+'-'+bizrno.substring(5,10)
|
||||
}
|
||||
this.el = el;
|
||||
}
|
||||
|
||||
getElement() {
|
||||
return this.el;
|
||||
}
|
||||
|
||||
addEvent(selEl) {
|
||||
}
|
||||
}
|
||||
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||
|
||||
class CustomATagRenderer {
|
||||
constructor(props) {
|
||||
@@ -101,7 +82,7 @@ class CustomATagRenderer {
|
||||
const el = document.createElement('a');
|
||||
el.href = 'javascript:void(0);';
|
||||
el.className = 'btn_text';
|
||||
el.innerText= String(props.colValue)
|
||||
el.innerText = String(props.colValue)
|
||||
this.el = el;
|
||||
}
|
||||
|
||||
@@ -111,7 +92,7 @@ class CustomATagRenderer {
|
||||
|
||||
addEvent(selEl) {
|
||||
selEl.addEventListener("click", () => {
|
||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
||||
const {callback} = this.props["cgrido" + this.props.colName].options;
|
||||
callback(this.props);
|
||||
});
|
||||
}
|
||||
@@ -119,6 +100,7 @@ class CustomATagRenderer {
|
||||
|
||||
export default {
|
||||
name: 'apprList',
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
data() {
|
||||
return {
|
||||
row: {},
|
||||
@@ -128,8 +110,8 @@ export default {
|
||||
totalItems: 0,
|
||||
// 테이블 리스트 데이터
|
||||
perPageCnt: 50,
|
||||
searchType1:'',
|
||||
searchType2:'',
|
||||
searchType1: '',
|
||||
searchType2: '',
|
||||
grid: {
|
||||
url: '/api/v1/bo/sendNumMgt/apprList',
|
||||
perPage: 50,
|
||||
@@ -138,26 +120,27 @@ export default {
|
||||
initialRequest: false,
|
||||
addCls: 'box_OFvis',
|
||||
columns: [
|
||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
||||
{ name: 'regReqNo', hidden: true },
|
||||
{ name: 'regDt', header: '요청일', align: 'center', width: '12%' },
|
||||
{ name: 'adminId', header: '관리자ID', align: 'center', width: '10%'},
|
||||
{ name: 'bizrno', header: '사업자번호', align: 'center', width: '13%', renderer: {type: customBRegNo}},
|
||||
{ name: 'nmineeDivCd', header: '명의자 구분', align: 'center', width: '10%'},
|
||||
{ name: 'custNm', header: '고객사명', align: 'center', width: '10%'},
|
||||
{ name: 'reqCnt', header: '요청건수', align: 'center', width: '6%', renderer: {
|
||||
{name: 'no', header: 'NO', align: 'center', width: '5%'},
|
||||
{name: 'regReqNo', hidden: true},
|
||||
{name: 'regDt', header: '요청일', align: 'center', width: '12%'},
|
||||
{name: 'adminId', header: '관리자ID', align: 'center', width: '10%'},
|
||||
{name: 'bizrno', header: '사업자번호', align: 'center', width: '13%'},
|
||||
{name: 'nmineeDivCd', header: '명의자 구분', align: 'center', width: '10%'},
|
||||
{name: 'custNm', header: '고객사명', align: 'center', width: '10%'},
|
||||
{
|
||||
name: 'reqCnt', header: '요청건수', align: 'center', width: '6%', renderer: {
|
||||
type: CustomATagRenderer
|
||||
,options: {
|
||||
, options: {
|
||||
callback: this.apprDetail,
|
||||
}
|
||||
}
|
||||
},
|
||||
{ name: 'apvCnt', header: '승인건수', align: 'center', width: '6%'},
|
||||
{ name: 'rejtCnt', header: '반려건수', align: 'center', width: '6%'},
|
||||
{ name: 'reqSttusCd', header: '상태', align: 'center', width: '10%'},
|
||||
{ name: 'cmpltDt', header: '완료일', width: '12%' }
|
||||
{name: 'apvCnt', header: '승인건수', align: 'center', width: '6%'},
|
||||
{name: 'rejtCnt', header: '반려건수', align: 'center', width: '6%'},
|
||||
{name: 'reqSttusCd', header: '상태', align: 'center', width: '10%'},
|
||||
{name: 'cmpltDt', header: '완료일', width: '12%'}
|
||||
],
|
||||
noDataStr: '검색 결과가 없습니다.',
|
||||
noDataStr: '검색 결과가 없습니다.',
|
||||
params: {
|
||||
searchType1: '',
|
||||
searchType2: '',
|
||||
@@ -165,14 +148,14 @@ export default {
|
||||
searchText2: '',
|
||||
},
|
||||
excelHeader: []
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
},
|
||||
components: {
|
||||
customGrid: customGrid,
|
||||
ApprDetailPop
|
||||
},
|
||||
created(){
|
||||
created() {
|
||||
},
|
||||
destroyed() {
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
@@ -191,7 +174,7 @@ export default {
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
|
||||
let isKeep = false;
|
||||
if(getCondition) {
|
||||
if (getCondition) {
|
||||
this.grid.pagePerRows = getCondition.perPage;
|
||||
this.grid.params = getCondition.params;
|
||||
page = getCondition.page;
|
||||
@@ -200,7 +183,7 @@ export default {
|
||||
this.search(isKeep);
|
||||
},
|
||||
methods: {
|
||||
search: function(isKeep) {
|
||||
search: function (isKeep) {
|
||||
console.log(this.grid.params);
|
||||
this.grid.params.searchType1 = this.searchType1
|
||||
this.grid.params.searchType2 = this.searchType2
|
||||
@@ -208,7 +191,7 @@ export default {
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
sendStoreData: function() {
|
||||
sendStoreData: function () {
|
||||
const getP = this.$refs.table.getPagination();
|
||||
console.log("==========getP : " + getP);
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
@@ -224,7 +207,7 @@ export default {
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
//console.log("getCondition : "+ getCondition.perPage);
|
||||
},
|
||||
apprDetail(props){
|
||||
apprDetail(props) {
|
||||
console.log(props)
|
||||
this.$refs.apprDetailPop.apprDetailPopOpen(props)
|
||||
}
|
||||
|
||||
@@ -1,99 +1,99 @@
|
||||
<template>
|
||||
|
||||
<div class="contents">
|
||||
<div class="contents_wrap">
|
||||
<div class="top_wrap">
|
||||
<h3 class="title">문자 발신 번호 목록 조회</h3>
|
||||
<p class="breadcrumb">발신번호관리 > 문자 발신 번호 목록 조회</p>
|
||||
</div>
|
||||
<form autocomplete="off" class="search_form">
|
||||
<div class="search_wrap">
|
||||
<div class="group">
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">등록방법</label>
|
||||
<select name="" id="sttusCd" v-model="searchType5" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">서류심사</option>
|
||||
<option value="02">본인인증</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">승인상태</label>
|
||||
<select name="" id="sttusCd" v-model="searchType1" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">승인대기</option>
|
||||
<option value="02">승인완료</option>
|
||||
<option value="03">반려</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">명의자 구분</label>
|
||||
<select name="" id="nmineeDivCd" v-model="searchType2" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">사업자</option>
|
||||
<option value="02">타사업자</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">인입채널</label>
|
||||
<select name="" id="inchDivCd" v-model="searchType3" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">홈페이지</option>
|
||||
<option value="02">어드민</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select_box id">
|
||||
<label for="right" class="label">상세검색</label>
|
||||
<select name="" id="category" v-model="searchType4" @keyup.enter="search">
|
||||
<option value="regNo">발신번호</option>
|
||||
<option value="bregNo">사업자번호</option>
|
||||
<option value="custNm">고객사명</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input_box">
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText1" v-on:keydown.enter.prevent="search"/>
|
||||
</div>
|
||||
<button type="button" class="button grey" @click="search">조회</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="info">
|
||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||
<div class="select_box NumberSe">
|
||||
<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>
|
||||
</div>
|
||||
<div class="button_group">
|
||||
<button type="button" class="button blue add" @click="numberRegPopOpen();">등록</button>
|
||||
<button type="button" class="button white del" @click="deleteNumber()">삭제</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table">
|
||||
<custom-grid
|
||||
ref="table"
|
||||
:totalItems="'totalItems'"
|
||||
:url="grid.url"
|
||||
:pagePerRows="grid.pagePerRows"
|
||||
:initialRequest="grid.initialRequest"
|
||||
:pagination="grid.pagination"
|
||||
:isCheckbox="grid.isCheckbox"
|
||||
:columns="grid.columns"
|
||||
:noDataStr="grid.noDataStr"
|
||||
:addCls="grid.addCls"
|
||||
:header="grid.headder"
|
||||
></custom-grid>
|
||||
</div>
|
||||
|
||||
<number-reg-pop ref="numberRegPop"> </number-reg-pop>
|
||||
<number-detail-pop ref="numberDetailPop"/>
|
||||
<common-modal ref="commmonModal"></common-modal>
|
||||
|
||||
<div class="contents">
|
||||
<div class="contents_wrap">
|
||||
<div class="top_wrap">
|
||||
<h3 class="title">문자 발신 번호 목록 조회</h3>
|
||||
<p class="breadcrumb">발신번호관리 > 문자 발신 번호 목록 조회</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search_wrap">
|
||||
<div class="group">
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">등록방법</label>
|
||||
<select name="" id="sttusCd" v-model="searchType5" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">서류심사</option>
|
||||
<option value="02">본인인증</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">승인상태</label>
|
||||
<select name="" id="sttusCd" v-model="searchType1" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">승인대기</option>
|
||||
<option value="02">승인완료</option>
|
||||
<option value="03">반려</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">명의자 구분</label>
|
||||
<select name="" id="nmineeDivCd" v-model="searchType2" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">사업자</option>
|
||||
<option value="02">타사업자</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select_box">
|
||||
<label for="right" class="label">인입채널</label>
|
||||
<select name="" id="inchDivCd" v-model="searchType3" @keyup.enter="search">
|
||||
<option value="">전체</option>
|
||||
<option value="01">홈페이지</option>
|
||||
<option value="02">어드민</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select_box id">
|
||||
<label for="right" class="label">상세검색</label>
|
||||
<select name="" id="category" v-model="searchType4" @keyup.enter="search">
|
||||
<option value="regNo">발신번호</option>
|
||||
<option value="bregNo">사업자번호</option>
|
||||
<option value="custNm">고객사명</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input_box">
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력"
|
||||
v-model.trim="grid.params.searchText1"
|
||||
maxlength="100" @keyup.enter="search"/>
|
||||
</div>
|
||||
<button type="button" class="button grey" @click="search">조회</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info">
|
||||
<div class="count">총 <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>건
|
||||
<div class="select_box NumberSe">
|
||||
<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>
|
||||
</div>
|
||||
<div class="button_group">
|
||||
<button type="button" class="button blue add" @click="numberRegPopOpen();">등록</button>
|
||||
<button type="button" class="button white del" @click="deleteNumber()">삭제</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table">
|
||||
<custom-grid
|
||||
ref="table"
|
||||
:totalItems="'totalItems'"
|
||||
:url="grid.url"
|
||||
:pagePerRows="grid.pagePerRows"
|
||||
:initialRequest="grid.initialRequest"
|
||||
:pagination="grid.pagination"
|
||||
:isCheckbox="grid.isCheckbox"
|
||||
:columns="grid.columns"
|
||||
:noDataStr="grid.noDataStr"
|
||||
:addCls="grid.addCls"
|
||||
:header="grid.headder"
|
||||
></custom-grid>
|
||||
</div>
|
||||
|
||||
<number-reg-pop ref="numberRegPop"></number-reg-pop>
|
||||
<number-detail-pop ref="numberDetailPop"/>
|
||||
<common-modal ref="commmonModal"></common-modal>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -111,7 +111,7 @@ class CustomATagRenderer {
|
||||
const el = document.createElement('a');
|
||||
el.href = 'javascript:void(0);';
|
||||
el.className = 'btn_text';
|
||||
el.innerText= String(props.colValue)
|
||||
el.innerText = String(props.colValue)
|
||||
this.el = el;
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ class CustomATagRenderer {
|
||||
|
||||
addEvent(selEl) {
|
||||
selEl.addEventListener("click", () => {
|
||||
const { callback } = this.props["cgrido" + this.props.colName].options;
|
||||
const {callback} = this.props["cgrido" + this.props.colName].options;
|
||||
callback(this.props);
|
||||
});
|
||||
}
|
||||
@@ -131,16 +131,16 @@ export default {
|
||||
name: 'numberList',
|
||||
data() {
|
||||
return {
|
||||
row: {},
|
||||
row: {},
|
||||
authType: [],
|
||||
statType: [],
|
||||
statType: [],
|
||||
cate2Code: "",
|
||||
totalItems: 0,
|
||||
searchType5:'',
|
||||
searchType4:'regNo',
|
||||
searchType3:'',
|
||||
searchType2:'',
|
||||
searchType1:'',
|
||||
searchType5: '',
|
||||
searchType4: 'regNo',
|
||||
searchType3: '',
|
||||
searchType2: '',
|
||||
searchType1: '',
|
||||
|
||||
// 테이블 리스트 데이터
|
||||
perPageCnt: 50,
|
||||
@@ -153,94 +153,96 @@ export default {
|
||||
addCls: 'box_OFvis',
|
||||
header: [
|
||||
[
|
||||
{ header: 'NO', childNames: [] },
|
||||
{ header: '고객사명', childNames: [] },
|
||||
{ header: '관리자ID', childNames: [] },
|
||||
{ header: '등록자ID', childNames: [] },
|
||||
{ header: '사업자번호', childNames: [] },
|
||||
{ header: '명의자 구분', childNames: [] },
|
||||
{ header: '인입채널', childNames: [] },
|
||||
{ header: '발신번호', childNames: [] },
|
||||
{ header: '승인상태', childNames: [] },
|
||||
{ header: '등록일자', childNames: [] }
|
||||
{header: 'NO', childNames: []},
|
||||
{header: '고객사명', childNames: []},
|
||||
{header: '관리자ID', childNames: []},
|
||||
{header: '등록자ID', childNames: []},
|
||||
{header: '사업자번호', childNames: []},
|
||||
{header: '명의자 구분', childNames: []},
|
||||
{header: '인입채널', childNames: []},
|
||||
{header: '발신번호', childNames: []},
|
||||
{header: '승인상태', childNames: []},
|
||||
{header: '등록일자', childNames: []}
|
||||
]
|
||||
],
|
||||
|
||||
columns: [
|
||||
{ name: 'no', header: 'NO', align: 'center', width: '5%' },
|
||||
{ name: 'regReqNo', hidden: true},
|
||||
{ name: 'bizrAuthYn', hidden: true},
|
||||
{ name: 'custNm', header: '고객사명', align: 'center', width: '5%' },
|
||||
{ name: 'adminId', header: '관리자ID', align: 'center', width: '10%' },
|
||||
{ name: 'register', header: '등록자ID', align: 'center', width: '10%' },
|
||||
{ name: 'bregNo', header: '사업자번호', align: 'center', width: '10%'},
|
||||
{ name: 'nmineeDivCd', header: '명의자 구분', align: 'center', width: '10%'},
|
||||
{ name: 'inchDivCd', header: '인입채널', align: 'center', width: '10%'},
|
||||
{ name: 'sndrno', header: '발신번호', align: 'center', width: '10%', renderer: {
|
||||
columns: [
|
||||
{name: 'no', header: 'NO', align: 'center', width: '5%'},
|
||||
{name: 'regReqNo', hidden: true},
|
||||
{name: 'bizrAuthYn', hidden: true},
|
||||
{name: 'custNm', header: '고객사명', align: 'center', width: '5%'},
|
||||
{name: 'adminId', header: '관리자ID', align: 'center', width: '10%'},
|
||||
{name: 'register', header: '등록자ID', align: 'center', width: '10%'},
|
||||
{name: 'bregNo', header: '사업자번호', align: 'center', width: '10%'},
|
||||
{name: 'nmineeDivCd', header: '명의자 구분', align: 'center', width: '10%'},
|
||||
{name: 'inchDivCd', header: '인입채널', align: 'center', width: '10%'},
|
||||
{
|
||||
name: 'sndrno', header: '발신번호', align: 'center', width: '10%', renderer: {
|
||||
type: CustomATagRenderer
|
||||
,options: {
|
||||
, options: {
|
||||
callback: this.numberDetail,
|
||||
}
|
||||
}
|
||||
},
|
||||
{ name: 'sttusCd', header: '승인상태', align: 'center', width: '10%'},
|
||||
{ name: 'regDt', header: '등록일자', width: '10%', cls: 'td_line' }
|
||||
{name: 'sttusCd', header: '승인상태', align: 'center', width: '10%'},
|
||||
{name: 'regDt', header: '등록일자', width: '10%', cls: 'td_line'}
|
||||
],
|
||||
noDataStr: '검색 결과가 없습니다.',
|
||||
params: {
|
||||
searchType1: '',
|
||||
searchType2: '',
|
||||
searchType3: '',
|
||||
searchType4: '',
|
||||
searchType5: '',
|
||||
searchText1: '',
|
||||
pagePerRows: '',
|
||||
page: ''
|
||||
noDataStr: '검색 결과가 없습니다.',
|
||||
params: {
|
||||
searchType1: '',
|
||||
searchType2: '',
|
||||
searchType3: '',
|
||||
searchType4: '',
|
||||
searchType5: '',
|
||||
searchText1: '',
|
||||
pagePerRows: '',
|
||||
page: ''
|
||||
},
|
||||
excelHeader: []
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
},
|
||||
components: {
|
||||
customGrid: customGrid,
|
||||
NumberRegPop,
|
||||
NumberDetailPop,
|
||||
commonModal,
|
||||
},
|
||||
created(){
|
||||
created() {
|
||||
// const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
},
|
||||
destroyed() {
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
page: 1,
|
||||
perPage: 50,
|
||||
params: {
|
||||
searchType1: '',
|
||||
searchType2: '',
|
||||
searchType3: '',
|
||||
searchType4: '',
|
||||
searchText1: '',
|
||||
pagePerRows: '',
|
||||
page: ''}
|
||||
});
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
page: 1,
|
||||
perPage: 50,
|
||||
params: {
|
||||
searchType1: '',
|
||||
searchType2: '',
|
||||
searchType3: '',
|
||||
searchType4: '',
|
||||
searchText1: '',
|
||||
pagePerRows: '',
|
||||
page: ''
|
||||
}
|
||||
});
|
||||
},
|
||||
mounted() {
|
||||
let page = 1;
|
||||
// 페이지 정보 및 검색 조건
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
||||
// store에 저장된 페이지 정보 및 검색 조건을 불러오기
|
||||
let isKeep = false;
|
||||
if (getCondition) {
|
||||
this.grid.pagePerRows = getCondition.perPage;
|
||||
this.grid.params = getCondition.params;
|
||||
this.grid.params = getCondition.params;
|
||||
page = getCondition.page;
|
||||
isKeep = true;
|
||||
}
|
||||
this.search(isKeep);
|
||||
this.search(isKeep);
|
||||
|
||||
},
|
||||
methods: {
|
||||
search: function(isKeep) {
|
||||
search: function (isKeep) {
|
||||
console.log(this.grid.params);
|
||||
this.grid.params.searchType1 = this.searchType1
|
||||
this.grid.params.searchType2 = this.searchType2
|
||||
@@ -251,94 +253,94 @@ export default {
|
||||
this.$refs.table.search(this.grid.params, isKeep);
|
||||
this.sendStoreData();
|
||||
},
|
||||
sendStoreData: function() {
|
||||
sendStoreData: function () {
|
||||
const getP = this.$refs.table.getPagination();
|
||||
console.log("==========getP : " + getP);
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
page: getP._currentPage,
|
||||
perPage: this.perPageCnt,
|
||||
page: getP._currentPage,
|
||||
perPage: this.perPageCnt,
|
||||
params: this.grid.params
|
||||
});
|
||||
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
},
|
||||
numberRegPopOpen: function(){
|
||||
numberRegPopOpen: function () {
|
||||
this.$refs.numberRegPop.numberRegPopopen();
|
||||
},
|
||||
numberDetail(props){
|
||||
numberDetail(props) {
|
||||
console.log(props)
|
||||
this.$refs.numberDetailPop.numberDetailPopOpen(props);
|
||||
},
|
||||
commonModalOpen(row){
|
||||
commonModalOpen(row) {
|
||||
this.$refs.commmonModal.alertModalOpen(row);
|
||||
},
|
||||
deleteNumber(){
|
||||
if(this.doValidate()){
|
||||
this.row.title ='문자발신번호 관리';
|
||||
this.row.msg1 ='삭제 하시겠습니까?'
|
||||
this.$refs.commmonModal.confirmModalOpen2(this.row);
|
||||
deleteNumber() {
|
||||
if (this.doValidate()) {
|
||||
this.row.title = '문자발신번호 관리';
|
||||
this.row.msg1 = '삭제 하시겠습니까?'
|
||||
this.$refs.commmonModal.confirmModalOpen2(this.row);
|
||||
}
|
||||
},
|
||||
async numberDelete(){
|
||||
|
||||
try {
|
||||
let response = await sendNumMgtApi.deleteNumber(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.$refs.table.reloadData();
|
||||
return;
|
||||
} else {
|
||||
this.row.title = '문자발신번호 관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
} catch(err) {
|
||||
async numberDelete() {
|
||||
|
||||
try {
|
||||
let response = await sendNumMgtApi.deleteNumber(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.$refs.table.reloadData();
|
||||
return;
|
||||
} else {
|
||||
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(){ //로우데이터 삭제하도록 수정
|
||||
doValidate() { //로우데이터 삭제하도록 수정
|
||||
|
||||
console.log("totalItems >> " + this.totalItems);
|
||||
if(this.totalItems == 0){
|
||||
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){
|
||||
if (chkList.length == 0) {
|
||||
this.row.title = '문자발신번호 관리';
|
||||
this.row.msg1 = '삭제대상을 체크를 해주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
return false;
|
||||
}
|
||||
//const param = chkList.map((row)=>({regReqNo:row.regReqNo} ));
|
||||
const param = chkList.map((row)=>({seqNo:row.seqNo} ));
|
||||
const param = chkList.map((row) => ({seqNo: row.seqNo}));
|
||||
console.log(param)
|
||||
this.row.list = param;
|
||||
console.log(this.row);
|
||||
return true;
|
||||
},
|
||||
confirmCalbackFnc(props){
|
||||
confirmCalbackFnc(props) {
|
||||
console.log(props)
|
||||
if(props.result){
|
||||
if (props.result) {
|
||||
this.numberDelete();
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
// beforeRouteLeave(to, from, next) {
|
||||
//
|
||||
// const getP = this.$refs.table.getPagination();
|
||||
// console.log("==========getP : " + getP._currentPage);
|
||||
// this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
// page: getP._currentPage,
|
||||
// perPage: this.perPageCnt,
|
||||
// params: this.grid.params
|
||||
// });
|
||||
// // 라우트 하기전 실행
|
||||
// next();
|
||||
// const getP = this.$refs.table.getPagination();
|
||||
// console.log("==========getP : " + getP._currentPage);
|
||||
// this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
// page: getP._currentPage,
|
||||
// perPage: this.perPageCnt,
|
||||
// params: this.grid.params
|
||||
// });
|
||||
// // 라우트 하기전 실행
|
||||
// next();
|
||||
// }
|
||||
};
|
||||
</script>
|
||||
@@ -1,101 +1,83 @@
|
||||
<template>
|
||||
|
||||
<div class="contents">
|
||||
<div class="contents_wrap">
|
||||
<div class="top_wrap">
|
||||
<h3 class="title">발신프로필관리</h3>
|
||||
<p class="breadcrumb">발신번호관리 > 발신프로필관리</p>
|
||||
</div>
|
||||
<form autocomplete="off" class="search_form">
|
||||
<div class="search_wrap">
|
||||
<div class="select_box">
|
||||
<label for="stat" class="label">상태</label>
|
||||
<select name="" id="stat" v-model="searchType1" @keyup="search">
|
||||
<option value="">전체</option>
|
||||
<option value="A">사용</option>
|
||||
<option value="N">미사용</option>
|
||||
<option value="H">휴면</option>
|
||||
<option value="D">삭제</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select_box id">
|
||||
<label for="searchType" class="label">상세검색</label>
|
||||
<select name="" id="searchType" v-model="searchType2" @keyup="search">
|
||||
<option value="custNm">고객사명</option>
|
||||
<option value="bregNo">사업자번호</option>
|
||||
<option value="sendProfile">발신프로필</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input_box id">
|
||||
<label for="search" class="label">검색어</label>
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model="grid.params.searchText1" v-on:keydown.enter.prevent="search" />
|
||||
</div>
|
||||
<button type="button" class="button grey" @click="search">조회</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="info">
|
||||
<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>
|
||||
<option value="50" selected>50</option>
|
||||
<option value="100">100</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table">
|
||||
<custom-grid
|
||||
ref="table"
|
||||
:totalItems="'totalItems'"
|
||||
:url="grid.url"
|
||||
:pagePerRows="grid.pagePerRows"
|
||||
:initialRequest="grid.pagination"
|
||||
:pagination="grid.pagination"
|
||||
:isCheckbox="grid.isCheckbox"
|
||||
:columns="grid.columns"
|
||||
:noDataStr="grid.noDataStr"
|
||||
:addCls="grid.addCls"
|
||||
:header="grid.headder">
|
||||
</custom-grid>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<div class="contents_wrap">
|
||||
<div class="top_wrap">
|
||||
<h3 class="title">발신프로필관리</h3>
|
||||
<p class="breadcrumb">발신번호관리 > 발신프로필관리</p>
|
||||
</div>
|
||||
<div class="search_wrap">
|
||||
<div class="select_box">
|
||||
<label for="stat" class="label">상태</label>
|
||||
<select name="" id="stat" v-model="searchType1" @keyup="search">
|
||||
<option value="">전체</option>
|
||||
<option value="A">사용</option>
|
||||
<option value="N">미사용</option>
|
||||
<option value="H">휴면</option>
|
||||
<option value="D">삭제</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="select_box id">
|
||||
<label for="searchType" class="label">상세검색</label>
|
||||
<select name="" id="searchType" v-model="searchType2" @keyup="search">
|
||||
<option value="custNm">고객사명</option>
|
||||
<option value="bregNo">사업자번호</option>
|
||||
<option value="sendProfile">발신프로필</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input_box id">
|
||||
<label for="search" class="label">검색어</label>
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model.trim="grid.params.searchText1"
|
||||
maxlength="100" @keyup="search"/>
|
||||
</div>
|
||||
<button type="button" class="button grey" @click="search">조회</button>
|
||||
</div>
|
||||
<div class="info">
|
||||
<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>
|
||||
<option value="50" selected>50</option>
|
||||
<option value="100">100</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table">
|
||||
<custom-grid
|
||||
ref="table"
|
||||
:totalItems="'totalItems'"
|
||||
:url="grid.url"
|
||||
:pagePerRows="grid.pagePerRows"
|
||||
:initialRequest="grid.pagination"
|
||||
:pagination="grid.pagination"
|
||||
:isCheckbox="grid.isCheckbox"
|
||||
:columns="grid.columns"
|
||||
:noDataStr="grid.noDataStr"
|
||||
:addCls="grid.addCls"
|
||||
:header="grid.headder">
|
||||
</custom-grid>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import customGrid from '@/components/CustomGrid';
|
||||
|
||||
//import api from '../service/api';
|
||||
class customBRegNo {
|
||||
constructor(props) {
|
||||
this.props = props;
|
||||
const el = document.createElement('td');
|
||||
var bregNo = String(props.colValue);
|
||||
el.innerText= bregNo;
|
||||
if(bregNo.length == 10){
|
||||
el.innerText= bregNo.substring(0,3)+'-'+bregNo.substring(3,5)+'-'+bregNo.substring(5,10)
|
||||
}
|
||||
this.el = el;
|
||||
}
|
||||
|
||||
getElement() {
|
||||
return this.el;
|
||||
}
|
||||
|
||||
addEvent(selEl) {
|
||||
}
|
||||
}
|
||||
export default {
|
||||
name: 'profileList',
|
||||
data() {
|
||||
return {
|
||||
row: {},
|
||||
row: {},
|
||||
authType: [],
|
||||
statType: [],
|
||||
statType: [],
|
||||
cate2Code: "",
|
||||
totalItems: 0,
|
||||
searchType1:'',
|
||||
searchType2:'custNm',
|
||||
searchType1: '',
|
||||
searchType2: 'custNm',
|
||||
// 테이블 리스트 데이터
|
||||
perPageCnt: 20,
|
||||
grid: {
|
||||
@@ -107,50 +89,50 @@ export default {
|
||||
addCls: 'box_OFvis',
|
||||
header: [
|
||||
[
|
||||
{ header: 'NO', childNames: [] },
|
||||
{ header: '고객사명', childNames: [] },
|
||||
{ header: '사업자번호', childNames: [] },
|
||||
{ header: '발신프로필', childNames: [] },
|
||||
{ header: '발신프로필key', childNames: [] },
|
||||
{ header: '상태', childNames: [] },
|
||||
{ header: '등록일', childNames: [] },
|
||||
{header: 'NO', childNames: []},
|
||||
{header: '고객사명', childNames: []},
|
||||
{header: '사업자번호', childNames: []},
|
||||
{header: '발신프로필', childNames: []},
|
||||
{header: '발신프로필key', childNames: []},
|
||||
{header: '상태', childNames: []},
|
||||
{header: '등록일', childNames: []},
|
||||
]
|
||||
],
|
||||
|
||||
columns: [
|
||||
{ name: 'no', header: 'NO', align: 'center', width: 50 },
|
||||
{ name: 'custNm', header: '고객사명', align: 'center', width: 200 },
|
||||
{ name: 'bregNo', header: '사업자번호', align: 'center', width: 100, renderer: {type: customBRegNo}},
|
||||
{ name: 'sendProfile', header: '발신프로필', align: 'center', width: 100},
|
||||
{ name: 'sendProfileKey', header: '발신프로필key', align: 'center', width: 100},
|
||||
{ name: 'stat', header: '상태', width: 100, cls: 'td_line' },
|
||||
{ name: 'regDt', header: '등록일', align: 'center', width: 150},
|
||||
columns: [
|
||||
{name: 'no', header: 'NO', align: 'center', width: 50},
|
||||
{name: 'custNm', header: '고객사명', align: 'center', width: 200},
|
||||
{name: 'bregNo', header: '사업자번호', align: 'center', width: 100},
|
||||
{name: 'sendProfile', header: '발신프로필', align: 'center', width: 100},
|
||||
{name: 'sendProfileKey', header: '발신프로필key', align: 'center', width: 100},
|
||||
{name: 'stat', header: '상태', width: 100, cls: 'td_line'},
|
||||
{name: 'regDt', header: '등록일', align: 'center', width: 150},
|
||||
],
|
||||
noDataStr: '검색 결과가 없습니다.',
|
||||
params: {
|
||||
noDataStr: '검색 결과가 없습니다.',
|
||||
params: {
|
||||
searchType1: '',
|
||||
searchType2: 'custNm',
|
||||
searchText1: ''
|
||||
},
|
||||
},
|
||||
excelHeader: []
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
},
|
||||
components: {
|
||||
customGrid: customGrid,
|
||||
},
|
||||
destroyed() {
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
page: 1,
|
||||
perPage: 50,
|
||||
params: {
|
||||
searchType1: '',
|
||||
searchType2: '',
|
||||
searchText1: ''
|
||||
}
|
||||
});
|
||||
},
|
||||
created(){
|
||||
destroyed() {
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
page: 1,
|
||||
perPage: 50,
|
||||
params: {
|
||||
searchType1: '',
|
||||
searchType2: '',
|
||||
searchText1: ''
|
||||
}
|
||||
});
|
||||
},
|
||||
created() {
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
},
|
||||
|
||||
@@ -159,7 +141,7 @@ export default {
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
|
||||
let isKeep = false;
|
||||
if(getCondition) {
|
||||
if (getCondition) {
|
||||
this.grid.pagePerRows = getCondition.perPage;
|
||||
this.grid.params = getCondition.params;
|
||||
page = getCondition.page;
|
||||
@@ -168,42 +150,42 @@ export default {
|
||||
this.search(isKeep);
|
||||
},
|
||||
methods: {
|
||||
search: function(isKeep) {
|
||||
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();
|
||||
},
|
||||
sendStoreData: function() {
|
||||
sendStoreData: function () {
|
||||
const getP = this.$refs.table.getPagination();
|
||||
console.log("==========getP : " + getP);
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
page: getP._currentPage,
|
||||
perPage: this.perPageCnt,
|
||||
page: getP._currentPage,
|
||||
perPage: this.perPageCnt,
|
||||
params: {
|
||||
searchType1: '',
|
||||
searchType2: '',
|
||||
searchText1: ''
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
//console.log("getCondition : "+ getCondition.perPage);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
beforeRouteLeave(to, from, next) {
|
||||
|
||||
const getP = this.$refs.table.getPagination();
|
||||
console.log("==========getP : " + getP._currentPage);
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
page: getP._currentPage,
|
||||
perPage: this.perPageCnt,
|
||||
params: this.grid.params
|
||||
});
|
||||
// 라우트 하기전 실행
|
||||
next();
|
||||
|
||||
const getP = this.$refs.table.getPagination();
|
||||
console.log("==========getP : " + getP._currentPage);
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
page: getP._currentPage,
|
||||
perPage: this.perPageCnt,
|
||||
params: this.grid.params
|
||||
});
|
||||
// 라우트 하기전 실행
|
||||
next();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
Reference in New Issue
Block a user