고객관리 > 청약고갹관리/회원관리 기능 추가

This commit is contained in:
kimre
2022-06-13 11:25:42 +09:00
parent 940707deaa
commit 7c87f2a3e8
37 changed files with 2489 additions and 432 deletions

View File

@@ -29,7 +29,7 @@
</tbody>
</table>
<div class="pop-btn2">
<button class="btn-pcolor">저장</button>
<button class="btn-pcolor" @click="saveExcel">저장</button>
<button class="btn-default" @click="excelPopClose">취소</button>
</div>
</div>
@@ -58,6 +58,7 @@ export default {
varList2 : ["이름","기타1","기타2","기타3","기타4"],
nData : [],
oData : [],
totalItems: 0,
}
},
@@ -66,8 +67,10 @@ export default {
},
methods :{
// 모달 띄우기
excelPopOpen(adminId){
excelPopOpen(adminId, totalItems){
this.adminId = adminId;
this.totalItems = totalItems;
console.log(totalItems)
var excelPop = document.getElementsByClassName('modal33');
for(var i = 0; i < excelPop.length; i++){
excelPop[i].style.display = 'block';
@@ -85,7 +88,7 @@ export default {
// 저장 후 부모창 호출.
toComplete(){
this.getParent('custList').$refs.table.reloadData();
this.ModalClose();
this.excelPopClose();
},
async doInsert(){
if(this.doValidate() && window.confirm('등록 하시겠습니까?')){
@@ -118,6 +121,10 @@ export default {
});
},
readFile(event) {
this.nData = []
this.oData = []
const file = event.target.files[0];
console.log(file.name);
@@ -148,24 +155,18 @@ export default {
let data = reader.result;
let workbook = XLSX.read(data, {type: 'binary'});
workbook.SheetNames.forEach(sheetName => {
workbook.Sheets[sheetName].A1.w = "id";
workbook.Sheets[sheetName].B1.w = "name";
workbook.Sheets[sheetName].C1.w = "mdn";
workbook.Sheets[sheetName].D1.w = "email";
workbook.Sheets[sheetName].E1.w = "stat";
// console.log(workbook.Sheets[sheetName].A1);
const rowObj = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName]);
// const rowObj = XLSX.utils.sheet_to_json(wb.Sheets[sheetName],{raw:true});
const rowObj = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName],{raw:true});
tmpResult = rowObj;
const limitCnt = 101;
const limitCnt = 100;
if(rowObj.length > limitCnt){
alert('100건이상은 등록되지 않습니다.');
return false;
}
const totalCnt = Number(this.totalItems) + rowObj.length;
if(totalCnt > limitCnt){
alert('100건이상은 등록되지 않습니다.');
return false;
}
for (const [idx,r] of rowObj.entries()) {
if(idx > limitCnt-1 ) {
break;
@@ -183,28 +184,33 @@ export default {
휴대폰번호='0'+휴대폰번호;
}
}
let {retVal,msg } = vm.validXlxs({이름,휴대폰번호});
let {retVal,msg } = vm.validXlxs({ID,이름,휴대폰번호,이메일,ID잠금});
if(retVal){
const pVal = [{ name:'이름',val:이름, len:20,},
{ name:'ID잠금',val:ID잠금, len:4,},];
const rVal = vm.isTitle(pVal);
if(rVal.retVal){
vm.nData.push({name:이름,mdn:휴대폰번호,msg});
vm.nData.push({userId:ID,userNm:이름,mdn:휴대폰번호,email:이메일,stat:ID잠금,msg});
}else{
vm.oData.push({이름,휴대폰번호,오류내용:rVal.msg});
vm.oData.push({ID,이름,휴대폰번호,이메일,ID잠금,오류내용:rVal.msg});
}
}else{
vm.oData.push({이름,휴대폰번호,오류내용:msg});
vm.oData.push({ID,이름,휴대폰번호,이메일,ID잠금,오류내용:msg});
}
}
});
console.log(vm.nData);
// this.excelJsonData=tmpResult;
console.log(vm.nData.length);
console.log(vm.oData);
console.log(vm.oData.length);
};
reader.readAsBinaryString(file);
},
validXlxs({이름,휴대폰번호}){
validXlxs({이름,휴대폰번호,이메일}){
if(this.isNull(이름)){
return {retVal:false,msg:'이름 누락'};
}
@@ -216,7 +222,9 @@ export default {
return {retVal:false,msg:'휴대폰번호 형식 오류'};
}
}
if(!this.emailCheck(이메일)){
return {retVal:false,msg:'이메일 형식 오류'};
}
return {retVal:true,msg:'정상'};
},
isTitle(pVal) {
@@ -243,7 +251,32 @@ export default {
element.removeChild(element.firstChild);
}
// uploadFile
}
},
async saveExcel(){
//
this.row.adminId = this.adminId;
this.row.list = this.nData;
try {
const response = await custMgtApi.insertMassUser(this.row);
const result = response.data;
console.log(result);
if (result != null && result.retCode == "0000") {
// this.totalCnt = result.data.totalCnt;
// this.successCnt = result.data.successCnt;
// this.failCnt = result.data.failCnt;
// this.toComplete();/
}
} catch (error) {
console.log(error);
alert("실패 하였습니다.");
}
// 오류건수.
console.log(this.oData.length);
},
}
}
</script>