로그인 및 메인 화면 수정 변경

This commit is contained in:
kimre
2022-07-10 20:53:26 +09:00
parent b2ff509948
commit fb40f49f09
61 changed files with 3660 additions and 1174 deletions

View File

@@ -0,0 +1,34 @@
import httpClient from '@/common/http-client';
import calcListExcelHeader from './mock/calcExcelHeader.json';
// 공통 코드.
const getCommCode = (params) => {
return httpClient.post('/api/v1/bo/comm/getCode', params, { withCredentials: false });
}
// 엑셀다운로드 목록 조회
const calcListExcel = (params) => {
return httpClient.post('/api/v1/bo/calculate/calcListExcel', params);
}
const getExcelHeader = category => {
// 엑셀에 출력할 Header 정보를 Mockup 데이터로 관리한다.
return new Promise(function(resolve, reject) {
let header = [];
switch (category) {
case 'CALC':
header = calcListExcelHeader.header;
break;
default:
header = '';
break;
}
resolve(header);
});
};
export default {
getCommCode,
getExcelHeader,
calcListExcel,
}

View File

@@ -0,0 +1,80 @@
{
"header": [
[
{
"key": "useYm",
"name": "날짜",
"rowspan": 2
},
{
"key": "custNm",
"name": "고객사명",
"rowspan": 2
},
{
"key": "bizrno",
"name": "사업자번호",
"rowspan": 2
},
{
"key": "prodNm",
"name": "요금제",
"rowspan": 2
},
{
"key": "startAmt",
"name": "시작금액",
"rowspan": 2
},
{
"key": "useAmt",
"name": "사용금액",
"rowspan": 2
},
{
"key": "cfwdAmt",
"name": "이월금액",
"rowspan": 2
},
{
"key": "mrtUseAmt",
"name": "종량금액",
"rowspan": 2
},
{
"key": "extncAmt",
"name": "소멸금액",
"rowspan": 2
},
{
"key": "billingAmt",
"name": "청구금액",
"rowspan": 2
},
{
"name": "채널별 발송 건수",
"colspan": 5
}
],
[{
"key": "totalSndCnt",
"name": "전체"
},
{
"key": "smsSndCnt",
"name": "SMS"
},
{
"key": "lmsSndCnt",
"name": "LMS"
},
{
"key": "mmsSndCnt",
"name": "MMS"
},
{
"key": "atlkSndCnt",
"name": "알림톡"
}]
]
}

View File

@@ -63,7 +63,7 @@
</div>
</div>
<div class="button_group">
<button type="button" class="button blue download">엑셀 다운로드</button>
<button type="button" class="button blue download" @click="excelDown();">엑셀 다운로드</button>
</div>
</div>
@@ -93,15 +93,14 @@
<script>
import customGrid from '@/components/CustomGrid';
//import { utils_mixin, chkPattern2 } from '../service/mixins';
import moment from "moment";
import xlsx from '@/common/excel';
import lodash from 'lodash';
import commonModal from "@/components/modal/commonModal";
import calcMgtApi from "@/modules/calculate/service/calcMgtApi";
export default {
name: 'calcList',
//mixins: [utils_mixin, chkPattern2],
data() {
return {
// 달력 데이터
@@ -121,7 +120,7 @@ export default {
list:[],
totalCnt: '',
pageType: 'SUBS',
pageType: 'CALC',
// 테이블 리스트 데이터
perPageCnt: 50,
@@ -159,7 +158,7 @@ export default {
columns: [
{ name: 'useYm', header: '날짜', align: 'center'},
{ name: 'custNm', header: '고객사명', align: 'center', width: '130px'},
{ name: 'bizrno', header: '사업자번호', align: 'center', width: '120px'
{ name: 'bizrno', header: '사업자번호', align: 'center', width: '120px'
,formatter: props => {
let result = props.bizrno.substring(0,3)+'-'+ props.bizrno.substring(3,5)+'-'+ props.bizrno.substring(5,10)
return result;
@@ -256,6 +255,7 @@ export default {
created(){
this.setPeriodDay(0);
this.gridParamSet();
this.getExcelHeader();
},
destroyed() {
@@ -397,7 +397,60 @@ export default {
}
console.log("gridParamSet()-startMonth : "+ this.grid.params.startMonth);
}
},
getExcelHeader() {
// 헤더를 mockup으로 관리한다.
calcMgtApi.getExcelHeader(this.pageType).then(res => {
this.excelHeader = res;
});
},
async excelDown() {
if (this.$refs.table.getData().length <= 0) {
this.row.title = '정산이력';
this.row.msg1 = '조회된 데이터가 없습니다.';
this.$refs.commmonModal.alertModalOpen(this.row);
return false;
}
let today = moment().format('YYYYMMDDHHmmss');
const saveFileName = `정산이력_${today}.xlsx`;
const data = await this.getExcelDataDown();
let options = {
header: this.excelHeader,
dataOrder: 'header'
};
// console.log(data);
xlsx.export(data.list, saveFileName, options).then(() => {});
},
async getExcelDataDown() {
try {
let response;
// params: {
// startMonth: '',
// endMonth: '',
// },
// const params = {
// startDt: this.grid.params.startDt,
// endDt: this.grid.params.endDt,
// searchType1: this.grid.params.searchType1,
// searchType2: this.grid.params.searchType2,
// searchType3: this.grid.params.searchType3,
// searchText1: this.grid.params.searchText1
// };
response = await calcMgtApi.calcListExcel(this.grid.params);
const result = response.data;
if (result != null && result.retCode == "0000") {
return result.data;
}else{
return false;
}
} catch (err) {
return false;
}
},
}
};
</script>