유치채널관리 수정 / 정산관리 추가,수정 / 채널관리 수정 / 고객관리 수정 / 모니터링 추가 / 리스크관리 수정 / 발신번호관리

추가,수정 / 서비스관리 수정 / 발송통계 수정
This commit is contained in:
kimre
2022-07-06 16:00:09 +09:00
parent 7cdea9e61a
commit 3d05b45299
113 changed files with 6261 additions and 5039 deletions

View File

@@ -0,0 +1,266 @@
<template>
<!-- <div class="wrap bg-wrap"> -->
<div>
<div class="dimmed" @click="apprDetailPopClose"></div>
<div class="popup-wrap">
<!-- 발신번호 상세 (타사업자)-->
<div class="popup modal55 popup_form">
<div class="pop-head">
<h3 class="pop-tit">발신번호 승인 요청 내역</h3>
</div>
<table>
<tbody>
<tr>
<th>요청일</th>
<td>{{ regDt }}</td>
</tr>
<tr v-show="cmpltDt !== '' && cmpltDt !== null">
<th>완료일</th>
<td>{{ cmpltDt }}</td>
</tr>
<tr>
<th>관리자 ID</th>
<td>{{ adminId }}</td>
</tr>
<tr>
<th>고객사명</th>
<td>{{ custNm }}</td>
</tr>
<tr>
<th>사업자번호</th>
<td>{{ bizrno }}</td>
</tr>
<tr>
<th>명의자 구분</th>
<td>{{ nmineeDivCd }}</td>
</tr>
<tr>
<th>본인인증 휴대폰번호</th>
<td>{{ slfAuthHp }}</td>
</tr>
<tr>
<th>발신번호</th>
<td class="sender">
<div class="sender-head">
<div class="count">
<span>{{ numList.length }}</span>
</div>
<div class="radio_group">
<input type="radio" name="state" ref="apprRadio" value="01" id="popup_radio13" @change="allApprSttus($event)">
<label for="popup_radio13">전체승인</label>
<input type="radio" name="state" ref="rejRadio" value="03" id="popup_radio14" @change="allApprSttus($event)">
<label for="popup_radio14">전체반려</label>
</div>
</div>
<ul>
<li v-for="(item, idx) in numList">{{idx+1}}. {{ item.sndrno }}
<div class="select-btn">
<button :class="{'btn-pcolor' : item.sttusCd === '01' || item.sttusCd === '02', 'btn-default' : item.sttusCd === '03'}" @click="change(idx, '01')">승인</button>
<button :class="{'btn-pcolor' : item.sttusCd === '03', 'btn-default' : item.sttusCd === '01' || item.sttusCd === '02'}" @click="change(idx, '03')">반려</button>
</div>
</li>
</ul>
</td>
</tr>
<tr>
<th>제출서류</th>
<td class="sender">
<p v-for="(item, idx) in docList" v-if="item.docTpCd !== '06'">{{ item.docTitle }}</p>
</td>
</tr>
<tr>
<th>사업자등록증</th>
<td class="sender">
<p v-for="(item, idx) in docList" v-if="item.docTpCd === '06'">{{ item.docTitle }}</p>
</td>
</tr>
<tr>
<th>메모</th>
<td class="sender"><textarea class="memo_text" v-model="memo">{{memo}}</textarea></td>
</tr>
</tbody>
</table>
<div class="popup-btn2">
<button class="btn-pcolor" @click="updateSttus">저장</button>
<button class="btn-default" @click="apprDetailPopClose">취소</button>
</div>
</div>
<common-modal ref="commmonModal"></common-modal>
</div>
</div>
</template>
<script>
import sendNumMgtApi from "@/modules/sendNumMgt/service/sendNumMgtApi";
import commonModal from "@/components/modal/commonModal";
export default {
name: "numberRegPop",
// mixins: [utils_mixin, chkPattern2],
watch:{
nmineeDivCd(){
console.log('watch : ', this.nmineeDivCd)
}
},
data(){
return{
row: {},
regReqNo:'',
reqNo:'',
seqNo:'',
cmpltDt:'',
adminId:'',
custNm:'',
bizrno:'',
nmineeDivCd:'',
slfAuthHp:'',
regDt:'',
memo:'',
docList: [],
numList: [],
}
},
components: {
commonModal,
},
model: {
prop: 'sendData',
event: 'event-data'
},
props: ['sendData'],
created(){
this.formReset();
},
methods :{
// 모달 띄우기
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';
this.apprDetail(props);
},
async apprDetail(props){
try {
console.log(props)
this.row.regReqNo = props.regReqNo
const response = await sendNumMgtApi.apprDetail(this.row);
const result = response.data;
console.log(result);
if (result != null && result.retCode == "0000") {
this.regRegNo = result.data.regReqNo
this.reqNo = result.data.regReqNo
this.regDt = result.data.regDt
this.custNm = result.data.custNm
this.adminId = result.data.adminId
this.chgDt = result.data.chgDt
this.bizrno = result.data.bizrno.substring(0,3)+'-'+result.data.bizrno.substring(3,5)+'-'+result.data.bizrno.substring(5,10)
this.nmineeDivCd = result.data.nmineeDivCd
this.regRegNo = result.data.regRegNo
this.slfAuthHp = result.data.slfAuthHp
this.docList = result.data.docList
this.numList = result.data.numList
this.memo = result.data.memo
this.cmpltDt = result.data.cmpltDt
console.log(this.reqNo)
var apprCnt=0;
var rejtCnt=0;
this.numList.forEach(function(value, index) {
// value.sttusCd = data
if(value.sttusCd == '01' || value.sttusCd == '02' ){
apprCnt = apprCnt + 1;
}else if(value.sttusCd == '03'){
rejtCnt = rejtCnt + 1;
}
});
if(apprCnt == this.numList.length){
this.$refs.apprRadio.checked = true;
}else if(rejtCnt == this.numList.length){
this.$refs.rejRadio.checked = true;
}
}
} catch (error) {
this.row.title = '발신번호승인';
this.row.msg1 = '실패 하였습니다.';
this.$refs.commmonModal.alertModalOpen(this.row);
}
},
// 모달 끄기
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';
},
allApprSttus(event) {
var data = event.target.value;
console.log(data);
this.numList.forEach(function(value, index) {
value.sttusCd = data
});
},
change(idx, val){
this.numList[idx].sttusCd = val
this.$refs.apprRadio.checked = false;
this.$refs.rejRadio.checked = false;
// radio_group 클래스 하위 라디오 박스 체크 유무 변경 필요.
var apprCnt=0;
var rejtCnt=0;
this.numList.forEach(function(value, index) {
// value.sttusCd = data
if(value.sttusCd == '01' || value.sttusCd == '02' ){
apprCnt = apprCnt + 1;
}else if(value.sttusCd == '03'){
rejtCnt = rejtCnt + 1;
}
});
if(apprCnt == this.numList.length){
this.$refs.apprRadio.checked = true;
}else if(rejtCnt == this.numList.length){
this.$refs.rejRadio.checked = true;
}
},
updateSttus(){
// 컨펌??
this.doSave()
},
async doSave(){
this.row.memo = this.memo
this.row.regReqNo = this.reqNo
this.row.adminId = this.adminId
this.row.list = this.numList
console.log(this.row)
try{
const response = await sendNumMgtApi.updateAppr(this.row);
const result = response.data;
console.log(result);
if (result != null && result.retCode == "0000") {
this.apprDetailPopClose()
this.$parent.search()
}
} catch (error) {
this.row.title = '발신번호 승인';
this.row.msg1 = '실패 하였습니다.';
this.$refs.commmonModal.alertModalOpen(this.row);
}
},
formReset(){
Object.assign(this.$data, this.$options.data());
},
}
}
</script>