mirror of
http://git.mhez-qa.uplus.co.kr/hubez/hubez-admin.git
synced 2025-12-07 04:11:27 +09:00
고객관리 > 청약고갹관리/회원관리 기능 추가
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user