|
@@ -8,7 +8,7 @@
|
|
<a-select-option value="">
|
|
<a-select-option value="">
|
|
全部
|
|
全部
|
|
</a-select-option>
|
|
</a-select-option>
|
|
- <a-select-option v-for="(item) in selectOption.company" :value='item.companyCode' :key="item.companyId">
|
|
|
|
|
|
+ <a-select-option v-for="(item) in selectOption.company" :value='item.companyId' :key="item.companyId">
|
|
{{item.area}}
|
|
{{item.area}}
|
|
</a-select-option>
|
|
</a-select-option>
|
|
</a-select>
|
|
</a-select>
|
|
@@ -16,18 +16,18 @@
|
|
<div>
|
|
<div>
|
|
<span>媒体类型:</span>
|
|
<span>媒体类型:</span>
|
|
<a-select v-model="mediaType" style="width: 120px" @change="mediaTypeChange">
|
|
<a-select v-model="mediaType" style="width: 120px" @change="mediaTypeChange">
|
|
- <a-select-option value="">
|
|
|
|
|
|
+ <a-select-option :value="0">
|
|
全部
|
|
全部
|
|
</a-select-option>
|
|
</a-select-option>
|
|
- <a-select-option v-for="(value,key) in selectOption.mediaType" :value='key' :key='key'>
|
|
|
|
- {{value}}
|
|
|
|
|
|
+ <a-select-option v-for="(item) in selectOption.mediaType" :value='item.num' :key='item.code'>
|
|
|
|
+ {{item.name}}
|
|
</a-select-option>
|
|
</a-select-option>
|
|
</a-select>
|
|
</a-select>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div>
|
|
<span>年份:</span>
|
|
<span>年份:</span>
|
|
<a-select v-model="years" style="width: 120px" @change="yearsChange">
|
|
<a-select v-model="years" style="width: 120px" @change="yearsChange">
|
|
- <a-select-option value="">
|
|
|
|
|
|
+ <a-select-option :value='0'>
|
|
全部
|
|
全部
|
|
</a-select-option>
|
|
</a-select-option>
|
|
<a-select-option v-for="(item,index) in yearsArr" :value="item" :key='index'>
|
|
<a-select-option v-for="(item,index) in yearsArr" :value="item" :key='index'>
|
|
@@ -54,10 +54,10 @@
|
|
<div>
|
|
<div>
|
|
<span>职位:</span>
|
|
<span>职位:</span>
|
|
<a-select v-model="position" style="width: 120px" @change="positionChange">
|
|
<a-select v-model="position" style="width: 120px" @change="positionChange">
|
|
- <a-select-option value="">
|
|
|
|
|
|
+ <a-select-option value=''>
|
|
全部
|
|
全部
|
|
</a-select-option>
|
|
</a-select-option>
|
|
- <a-select-option v-for="item in selectOption.post" :value="item.id" :key="item.id">
|
|
|
|
|
|
+ <a-select-option v-for="item in selectOption.post" :value="item.roleCode" :key="item.id">
|
|
{{item.roleName}}
|
|
{{item.roleName}}
|
|
</a-select-option>
|
|
</a-select-option>
|
|
</a-select>
|
|
</a-select>
|
|
@@ -81,7 +81,7 @@
|
|
:dataSource="tableData"
|
|
:dataSource="tableData"
|
|
bordered
|
|
bordered
|
|
id="outTable"
|
|
id="outTable"
|
|
- :pagination="false"
|
|
|
|
|
|
+ :pagination="ipagination"
|
|
:scroll="{ x: scrollX }"
|
|
:scroll="{ x: scrollX }"
|
|
:loading="loading"
|
|
:loading="loading"
|
|
ref="accountTable"
|
|
ref="accountTable"
|
|
@@ -92,13 +92,23 @@
|
|
<span slot="operation" slot-scope="text, record">
|
|
<span slot="operation" slot-scope="text, record">
|
|
<a href="javascript:;" @click="opendetail(text, record)">查看明细</a>
|
|
<a href="javascript:;" @click="opendetail(text, record)">查看明细</a>
|
|
</span>
|
|
</span>
|
|
|
|
+ <span slot="cost" slot-scope="cost">{{cost | decimalsHandle}}</span>
|
|
|
|
+
|
|
|
|
+ <span slot="performance" slot-scope="performance">{{performance | decimalsHandle}}</span>
|
|
|
|
+ <span slot="mediaType" slot-scope="text">
|
|
|
|
+ <span v-if="text==1">头条</span>
|
|
|
|
+ <span v-if="text==2">快手</span>
|
|
|
|
+ <span v-if="text==3">头条内广</span>
|
|
|
|
+ <span v-if="text==4">快手内广</span>
|
|
|
|
+ </span>
|
|
</a-table>
|
|
</a-table>
|
|
</div>
|
|
</div>
|
|
<!-- 明细表 -->
|
|
<!-- 明细表 -->
|
|
<div class="detailBox">
|
|
<div class="detailBox">
|
|
- <a-modal v-model="visibleDetail" title="详细信息" width="60%" :footer="null" >
|
|
|
|
- <a-button type="default" @click="exportExcel" id="mybtn">导出报表</a-button>
|
|
|
|
- <a-table
|
|
|
|
|
|
+ <a-modal v-model="visibleDetail" title="详细信息" width="50%" :footer="null" id="detailBox">
|
|
|
|
+ <!-- <a-button type="default" @click="exportExcel" id="mybtn">导出报表</a-button> -->
|
|
|
|
+ <div class="myTable">
|
|
|
|
+ <a-table
|
|
:columns="detailColumns"
|
|
:columns="detailColumns"
|
|
:data-source="detailData"
|
|
:data-source="detailData"
|
|
bordered
|
|
bordered
|
|
@@ -106,9 +116,13 @@
|
|
:pagination="false"
|
|
:pagination="false"
|
|
:loading='loadingDetail'
|
|
:loading='loadingDetail'
|
|
style="word-break: break-all;"
|
|
style="word-break: break-all;"
|
|
- >
|
|
|
|
- <span slot="cost" slot-scope="cost">{{ cost | decimalsHandle }}</span>
|
|
|
|
- </a-table>
|
|
|
|
|
|
+ id="myTable"
|
|
|
|
+ :scroll="{ y: 500 }"
|
|
|
|
+ >
|
|
|
|
+ <span slot="cost" slot-scope="cost">{{ cost | decimalsHandle }}</span>
|
|
|
|
+ </a-table>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
</a-modal>
|
|
</a-modal>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
@@ -124,59 +138,59 @@ import { JeecgListMixin } from '@/mixins/ipagination'
|
|
const columnsFixd = [
|
|
const columnsFixd = [
|
|
{
|
|
{
|
|
title: '姓名',
|
|
title: '姓名',
|
|
- dataIndex: 'name',
|
|
|
|
|
|
+ dataIndex: 'userName',
|
|
align: 'center',
|
|
align: 'center',
|
|
- key:'name',
|
|
|
|
- scopedSlots: { customRender: 'name' }
|
|
|
|
|
|
+ key:'userName',
|
|
|
|
+ scopedSlots: { customRender: 'userName' }
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '职位',
|
|
title: '职位',
|
|
- dataIndex: 'position',
|
|
|
|
|
|
+ dataIndex: 'roleName',
|
|
align: 'center',
|
|
align: 'center',
|
|
|
|
|
|
- key: 'position',
|
|
|
|
- scopedSlots: { customRender: 'position' }
|
|
|
|
|
|
+ key: 'roleName',
|
|
|
|
+ scopedSlots: { customRender: 'roleName' }
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '媒体类型',
|
|
title: '媒体类型',
|
|
- dataIndex: 'mediatype',
|
|
|
|
|
|
+ dataIndex: 'mediaType',
|
|
align: 'center',
|
|
align: 'center',
|
|
-
|
|
|
|
|
|
+ scopedSlots: { customRender: 'mediaType' }
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '季度',
|
|
title: '季度',
|
|
- dataIndex: 'projectName',
|
|
|
|
|
|
+ dataIndex: 'quarters',
|
|
align: 'center',
|
|
align: 'center',
|
|
-
|
|
|
|
|
|
+ scopedSlots: { customRender: 'quarters' }
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '消耗',
|
|
title: '消耗',
|
|
- dataIndex: 'materialDesc',
|
|
|
|
|
|
+ dataIndex: 'cost',
|
|
align: 'center',
|
|
align: 'center',
|
|
- scopedSlots: { customRender: 'operation' },
|
|
|
|
|
|
+ scopedSlots: { customRender: 'cost' },
|
|
sorter:()=>{}
|
|
sorter:()=>{}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '提成比例',
|
|
title: '提成比例',
|
|
- dataIndex: 'tc',
|
|
|
|
|
|
+ dataIndex: 'point',
|
|
align: 'center',
|
|
align: 'center',
|
|
- scopedSlots: { customRender: 'operation' },
|
|
|
|
- sorter:()=>{}
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- title: '应得绩效',
|
|
|
|
- dataIndex: 'jx',
|
|
|
|
- align: 'center',
|
|
|
|
- scopedSlots: { customRender: 'operation' },
|
|
|
|
- sorter:()=>{}
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- title: '管理岗绩效',
|
|
|
|
- dataIndex: 'gl',
|
|
|
|
- align: 'center',
|
|
|
|
- scopedSlots: { customRender: 'operation' },
|
|
|
|
|
|
+ scopedSlots: { customRender: 'point' },
|
|
sorter:()=>{}
|
|
sorter:()=>{}
|
|
},
|
|
},
|
|
|
|
+ // {
|
|
|
|
+ // title: '应得绩效',
|
|
|
|
+ // dataIndex: 'performance',
|
|
|
|
+ // align: 'center',
|
|
|
|
+ // scopedSlots: { customRender: 'performance' },
|
|
|
|
+ // sorter:()=>{}
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // title: '管理岗绩效',
|
|
|
|
+ // dataIndex: 'additionalFees',
|
|
|
|
+ // align: 'center',
|
|
|
|
+ // scopedSlots: { customRender: 'additionalFees' },
|
|
|
|
+ // sorter:()=>{}
|
|
|
|
+ // },
|
|
{
|
|
{
|
|
title: '操作',
|
|
title: '操作',
|
|
dataIndex: 'operation',
|
|
dataIndex: 'operation',
|
|
@@ -188,46 +202,50 @@ const columnsFixd = [
|
|
|
|
|
|
const detailColumns=[
|
|
const detailColumns=[
|
|
{
|
|
{
|
|
- title: '时间',
|
|
|
|
- dataIndex: 'date',
|
|
|
|
|
|
+ title: '季度',
|
|
|
|
+ dataIndex: 'quarters',
|
|
align: 'center',
|
|
align: 'center',
|
|
- scopedSlots: { customRender: 'date' },
|
|
|
|
- sorter:()=>{}
|
|
|
|
|
|
+ scopedSlots: { customRender: 'quarters' },
|
|
|
|
+ sorter:()=>{},
|
|
|
|
+ width:150
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '项目',
|
|
title: '项目',
|
|
dataIndex: 'projectName',
|
|
dataIndex: 'projectName',
|
|
align: 'center',
|
|
align: 'center',
|
|
scopedSlots: { customRender: 'projectName' },
|
|
scopedSlots: { customRender: 'projectName' },
|
|
- sorter:()=>{}
|
|
|
|
|
|
+ sorter:()=>{},
|
|
|
|
+ width:200
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '账户名称',
|
|
title: '账户名称',
|
|
- dataIndex: 'accountName',
|
|
|
|
|
|
+ dataIndex: 'authName',
|
|
align: 'center',
|
|
align: 'center',
|
|
- scopedSlots: { customRender: 'accountName' },
|
|
|
|
- sorter:()=>{}
|
|
|
|
|
|
+ scopedSlots: { customRender: 'authName' },
|
|
|
|
+ sorter:()=>{},
|
|
|
|
+ width:350,
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '消耗',
|
|
title: '消耗',
|
|
- dataIndex: 'materialDesc',
|
|
|
|
|
|
+ dataIndex: 'cost',
|
|
align: 'center',
|
|
align: 'center',
|
|
- scopedSlots: { customRender: 'operation' },
|
|
|
|
|
|
+ scopedSlots: { customRender: 'cost' },
|
|
sorter:()=>{}
|
|
sorter:()=>{}
|
|
},
|
|
},
|
|
]
|
|
]
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
|
+ mixins:[JeecgListMixin],
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
selectOption:{},
|
|
selectOption:{},
|
|
yearsArr:[],
|
|
yearsArr:[],
|
|
quarterArr:[],
|
|
quarterArr:[],
|
|
company:'',
|
|
company:'',
|
|
- mediaType:'',
|
|
|
|
|
|
+ mediaType:0,
|
|
position:'',
|
|
position:'',
|
|
quarter:'',//季度数据
|
|
quarter:'',//季度数据
|
|
- years:'',
|
|
|
|
|
|
+ years:0,
|
|
nameValue:'',
|
|
nameValue:'',
|
|
//table数据
|
|
//table数据
|
|
columns:JSON.parse(JSON.stringify(columnsFixd)) ,//table的表头
|
|
columns:JSON.parse(JSON.stringify(columnsFixd)) ,//table的表头
|
|
@@ -237,6 +255,8 @@ export default {
|
|
tableWidth: '',//设置表格的列宽
|
|
tableWidth: '',//设置表格的列宽
|
|
loading:false,
|
|
loading:false,
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
visibleDetail:false, //明细表的开关
|
|
visibleDetail:false, //明细表的开关
|
|
detailData:[],
|
|
detailData:[],
|
|
loadingDetail:false,
|
|
loadingDetail:false,
|
|
@@ -248,26 +268,40 @@ export default {
|
|
moment,
|
|
moment,
|
|
//chaxun anniu
|
|
//chaxun anniu
|
|
search(){
|
|
search(){
|
|
-
|
|
|
|
|
|
+ this.tableHttp();
|
|
},
|
|
},
|
|
//导出报表
|
|
//导出报表
|
|
exportExcel() {
|
|
exportExcel() {
|
|
|
|
|
|
- var name = this.data.filter(item => {
|
|
|
|
- return item.signature == this.signature
|
|
|
|
- })[0].projectName
|
|
|
|
- downFilePost('/toutiao/videoReportDaily/bytedanceVideoInfoListDetailExportExcel', {
|
|
|
|
- startDate: this.timedata[0],
|
|
|
|
- endDate: this.timedata[1],
|
|
|
|
- signature: this.signature
|
|
|
|
|
|
+ // var name = this.data.filter(item => {
|
|
|
|
+ // return item.signature == this.signature
|
|
|
|
+ // })[0].projectName
|
|
|
|
+ let companyName=''
|
|
|
|
+ if(this.company){
|
|
|
|
+ this.selectOption.company.forEach((item)=>{
|
|
|
|
+ if(item.companyId==this.company){
|
|
|
|
+ companyName=item.area
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ var name =`${companyName || '全公司'}_${this.year || '全年份'}_${this.quarter || '全季度'}_${this.mediaType|| '全部类型'}`;
|
|
|
|
+
|
|
|
|
+ downFilePost('/ctop/performance/show/excel', {
|
|
|
|
+ year:this.years,
|
|
|
|
+ quarter:this.quarter,
|
|
|
|
+ company:this.company,
|
|
|
|
+ userName:this.nameValue,
|
|
|
|
+ roleCode:this.position,
|
|
|
|
+ mediaType:this.mediaType
|
|
}).then(res => {
|
|
}).then(res => {
|
|
let blob = new Blob([res], {
|
|
let blob = new Blob([res], {
|
|
- type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
|
|
|
|
|
+ type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
|
})
|
|
})
|
|
let downloadElement = document.createElement('a')
|
|
let downloadElement = document.createElement('a')
|
|
let href = window.URL.createObjectURL(blob) //创建下载的链接
|
|
let href = window.URL.createObjectURL(blob) //创建下载的链接
|
|
downloadElement.href = href
|
|
downloadElement.href = href
|
|
- downloadElement.download = name + '-' +this.timedata[0] + '-' + this.timedata[1]+'.xlsx' //下载后文件名
|
|
|
|
|
|
+ downloadElement.download = name+'.xlsx' //下载后文件名
|
|
document.body.appendChild(downloadElement)
|
|
document.body.appendChild(downloadElement)
|
|
downloadElement.click() //点击下载
|
|
downloadElement.click() //点击下载
|
|
document.body.removeChild(downloadElement) //下载完成移除元素
|
|
document.body.removeChild(downloadElement) //下载完成移除元素
|
|
@@ -281,24 +315,23 @@ export default {
|
|
this.visibleDetail = true
|
|
this.visibleDetail = true
|
|
this.detailData = []
|
|
this.detailData = []
|
|
this.loadingDetail=true
|
|
this.loadingDetail=true
|
|
- this.signature=record.signature
|
|
|
|
- console.log(this.signature)
|
|
|
|
- postAction('/toutiao/videoReportDaily/bytedanceVideoInfoListDetail', {
|
|
|
|
- startDate: this.timedata[0],
|
|
|
|
- endDate: this.timedata[1],
|
|
|
|
- signature: record.signature,
|
|
|
|
- accountIds:this.appId
|
|
|
|
|
|
+ postAction('/ctop/performance/show/operateDetail', {
|
|
|
|
+ year:record.year,
|
|
|
|
+ quarter:record.quarter,
|
|
|
|
+ userId:record.userId,
|
|
|
|
+ mediaType:record.mediaType
|
|
}).then(res => {
|
|
}).then(res => {
|
|
- let resArr = []
|
|
|
|
|
|
+ // let resArr = []
|
|
this.loadingDetail=false
|
|
this.loadingDetail=false
|
|
console.log(res)
|
|
console.log(res)
|
|
if (res.success) {
|
|
if (res.success) {
|
|
- let result = res.result
|
|
|
|
- this.detailData.push({ ...result, key: 1 })
|
|
|
|
- result.map((item, index) => {
|
|
|
|
- item.key = index
|
|
|
|
- })
|
|
|
|
- this.detailData = result
|
|
|
|
|
|
+ let result = res.result
|
|
|
|
+ // this.detailData.push({ ...result, key: 1 })
|
|
|
|
+ result.map((item, index) => {
|
|
|
|
+ item.key = index;
|
|
|
|
+ item.quarters=record.quarters
|
|
|
|
+ })
|
|
|
|
+ this.detailData = result
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
@@ -306,11 +339,11 @@ export default {
|
|
//获取选择框的信息
|
|
//获取选择框的信息
|
|
getInfoHttp(){
|
|
getInfoHttp(){
|
|
getAction('/ctop/performance/show/getPerformanceInfo',{}).then((res)=>{
|
|
getAction('/ctop/performance/show/getPerformanceInfo',{}).then((res)=>{
|
|
- console.log(res);
|
|
|
|
|
|
+ // console.log(res);
|
|
|
|
|
|
this.selectOption=res.result;
|
|
this.selectOption=res.result;
|
|
this.yearsArr=Reflect.ownKeys(res.result.data).splice(0,Reflect.ownKeys(res.result.data).length-1)
|
|
this.yearsArr=Reflect.ownKeys(res.result.data).splice(0,Reflect.ownKeys(res.result.data).length-1)
|
|
- console.log(this.yearsArr)
|
|
|
|
|
|
+ // console.log(this.yearsArr)
|
|
})
|
|
})
|
|
},
|
|
},
|
|
//职位改变
|
|
//职位改变
|
|
@@ -320,17 +353,17 @@ export default {
|
|
},
|
|
},
|
|
//公司改变
|
|
//公司改变
|
|
companyChange(val){
|
|
companyChange(val){
|
|
- console.log(val)
|
|
|
|
|
|
+ // console.log(val)
|
|
this.company=val
|
|
this.company=val
|
|
},
|
|
},
|
|
//媒体类型
|
|
//媒体类型
|
|
mediaTypeChange(val){
|
|
mediaTypeChange(val){
|
|
- console.log(val)
|
|
|
|
|
|
+ // console.log(val)
|
|
this.mediaType=val
|
|
this.mediaType=val
|
|
},
|
|
},
|
|
//年份改变
|
|
//年份改变
|
|
yearsChange(val){
|
|
yearsChange(val){
|
|
- console.log(val)
|
|
|
|
|
|
+ // console.log(val)
|
|
this.years=val;
|
|
this.years=val;
|
|
if(val==''){
|
|
if(val==''){
|
|
this.quarterArr=[];
|
|
this.quarterArr=[];
|
|
@@ -341,7 +374,7 @@ export default {
|
|
},
|
|
},
|
|
//季度改变
|
|
//季度改变
|
|
quarterChange(val){
|
|
quarterChange(val){
|
|
- console.log(val)
|
|
|
|
|
|
+ // console.log(val)
|
|
this.quarter=val;
|
|
this.quarter=val;
|
|
|
|
|
|
},
|
|
},
|
|
@@ -362,9 +395,58 @@ export default {
|
|
this.tableHttp();
|
|
this.tableHttp();
|
|
},
|
|
},
|
|
|
|
|
|
|
|
+ //请求table的数据
|
|
|
|
+ tableHttp(){
|
|
|
|
+ this.loading=true
|
|
|
|
+ this.tableData=[]
|
|
|
|
+ postAction(`ctop/performance/show/${this.ipagination.current}/${this.ipagination.pageSize}/desc`,{
|
|
|
|
+ year:this.years,
|
|
|
|
+ quarter:this.quarter,
|
|
|
|
+ company:this.company,
|
|
|
|
+ userName:this.nameValue,
|
|
|
|
+ roleCode:this.position,
|
|
|
|
+ mediaType:this.mediaType
|
|
|
|
+ }).then(res=>{
|
|
|
|
+ console.log(res)
|
|
|
|
+ this.loading=false;
|
|
|
|
+ if(res.success&&res.result.list.length>0){
|
|
|
|
+ res.result.list.forEach((item,index)=>{
|
|
|
|
+ item.key=index;
|
|
|
|
+ item.quarters=item.year+'_'+item.quarter;
|
|
|
|
+ })
|
|
|
|
+ this.tableData=[...res.result.list]
|
|
|
|
+ }
|
|
|
|
+ this.ipagination.total = res.result.total
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ //请求详细信息
|
|
|
|
+ detailHttp(){
|
|
|
|
+ this.loadingDetail=true
|
|
|
|
+ postAction(`ctop/performance/show/${this.ipagination.current}/${this.ipagination.pageSize}/desc`,{
|
|
|
|
+ year:this.years,
|
|
|
|
+ quarter:this.quarter,
|
|
|
|
+ company:this.company,
|
|
|
|
+ userName:this.nameValue,
|
|
|
|
+ roleCode:this.position,
|
|
|
|
+ mediaType:this.mediaType
|
|
|
|
+ }).then(res=>{
|
|
|
|
+ console.log(res)
|
|
|
|
+ this.loadingDetail=false;
|
|
|
|
+ if(res.success&&res.result.list.length>0){
|
|
|
|
+ res.result.list.forEach((item,index)=>{
|
|
|
|
+ item.key=index;
|
|
|
|
+ item.quarter=item.year+'_'+item.quarter;
|
|
|
|
+ })
|
|
|
|
+ this.tableData=[...res.result.list]
|
|
|
|
+ }
|
|
|
|
+ this.ipagination.total = res.result.total
|
|
|
|
+ })
|
|
|
|
+ },
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
- this.getInfoHttp()
|
|
|
|
|
|
+ this.getInfoHttp();
|
|
|
|
+ this.tableHttp();
|
|
},
|
|
},
|
|
filters: {
|
|
filters: {
|
|
toPercentage(val) {
|
|
toPercentage(val) {
|