|
@@ -29,8 +29,13 @@ |
|
|
</span> |
|
|
</span> |
|
|
<span style="float:right; margin-right: 20px;"> |
|
|
<span style="float:right; margin-right: 20px;"> |
|
|
<div style="display:inline-block;margin-left: 20px; "> |
|
|
<div style="display:inline-block;margin-left: 20px; "> |
|
|
<i class="el-icon-download"></i> |
|
|
|
|
|
<span ><a id = "download_file" :href= "'../api/v1/projectboard/downloadAll/?type='+this.params.type+'&beginTime='+this.params.beginTime+'&endTime='+this.params.endTime+'&q='+this.params.q+'&sort=openi'" >下载报告</a> </span> |
|
|
|
|
|
|
|
|
<a class="el-icon-download" v-if="tableData!=''" :href= "'../api/v1/projectboard/downloadAll/?type='+this.params.type+'&beginTime='+this.params.beginTime+'&endTime='+this.params.endTime+'&q='+this.params.q+'&sort=openi'" ></a> |
|
|
|
|
|
<i class="el-icon-download" v-else="tableData=''" href="#" style="color:rgba(187, 187, 187, 100);" @click='popMark()'></i> |
|
|
|
|
|
<!-- <span ><a id = "download_file" :href= "'../api/v1/projectboard/downloadAll/?type='+this.params.type+'&beginTime='+this.params.beginTime+'&endTime='+this.params.endTime+'&q='+this.params.q+'&sort=openi'" >下载报告</a> </span> --> |
|
|
|
|
|
<span > |
|
|
|
|
|
<a id = "download_file" v-if="tableData!=''" :href= "'../api/v1/projectboard/downloadAll/?type='+this.params.type+'&beginTime='+this.params.beginTime+'&endTime='+this.params.endTime+'&q='+this.params.q+'&sort=openi'">下载报告</a> |
|
|
|
|
|
<a id = "download_file" v-else="tableData=''" href= "#" style="color:rgba(187, 187, 187, 100);" @click='popMark()'>下载报告</a> |
|
|
|
|
|
</span> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -142,10 +147,12 @@ |
|
|
<div style="margin-top:50px;text-align:center"> |
|
|
<div style="margin-top:50px;text-align:center"> |
|
|
<el-pagination |
|
|
<el-pagination |
|
|
background |
|
|
background |
|
|
|
|
|
@size-change="handleSizeChange" |
|
|
@current-change="handleCurrentChange" |
|
|
@current-change="handleCurrentChange" |
|
|
:current-page="page" |
|
|
:current-page="page" |
|
|
:page-size="pageSize" |
|
|
:page-size="pageSize" |
|
|
layout="prev, pager, next" |
|
|
|
|
|
|
|
|
:page-sizes="[5,10,20]" |
|
|
|
|
|
layout="total, sizes,prev, pager, next,jumper" |
|
|
:total="totalNum"> |
|
|
:total="totalNum"> |
|
|
</el-pagination> |
|
|
</el-pagination> |
|
|
</div> |
|
|
</div> |
|
@@ -153,7 +160,7 @@ |
|
|
</div> |
|
|
</div> |
|
|
<div id ="pro_detail" style="display:none;width: 100%;"> |
|
|
<div id ="pro_detail" style="display:none;width: 100%;"> |
|
|
<div style="margin-top: 10px;"> |
|
|
<div style="margin-top: 10px;"> |
|
|
<b class="pro_item">{{this.ownerName}} / {{this.pro_name}}</b> <span class="update_time">数据更新时间:</span><span style="font-size: 12px;">{{tableDataIDTotal.lastUpdatedTime}} / 从{{tableDataIDTotal.recordBeginTime}}开始</span> |
|
|
|
|
|
|
|
|
<b class="pro_item">{{this.ownerName}} / {{this.pro_name}}</b> <span class="update_time">数据更新时间:</span><span style="font-size: 12px;">{{tableDataIDTotal.lastUpdatedTime}} / 从{{tableDataIDTotal.recordBeginTime}}开始统计</span> |
|
|
</div> |
|
|
</div> |
|
|
<div style="margin-top: 10px;"> |
|
|
<div style="margin-top: 10px;"> |
|
|
项目描述:{{tableDataIDTotal.description | discriptionFun}} |
|
|
项目描述:{{tableDataIDTotal.description | discriptionFun}} |
|
@@ -210,7 +217,7 @@ |
|
|
> |
|
|
> |
|
|
<el-table-column |
|
|
<el-table-column |
|
|
label="用户名" |
|
|
label="用户名" |
|
|
align="center" |
|
|
|
|
|
|
|
|
align="left" |
|
|
prop="user"> |
|
|
prop="user"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<a v-if="scope.row.mode!=-1" :href="AppSubUrl +'../../../'+ scope.row.user"><img class="ui avatar s16 image js-popover-card" :src="scope.row.relAvatarLink">{{scope.row.user}} </a> |
|
|
<a v-if="scope.row.mode!=-1" :href="AppSubUrl +'../../../'+ scope.row.user"><img class="ui avatar s16 image js-popover-card" :src="scope.row.relAvatarLink">{{scope.row.user}} </a> |
|
@@ -266,8 +273,12 @@ |
|
|
</span> |
|
|
</span> |
|
|
<span style="float:right; margin-right: 20px;"> |
|
|
<span style="float:right; margin-right: 20px;"> |
|
|
<div style="display:inline-block;margin-left: 20px;"> |
|
|
<div style="display:inline-block;margin-left: 20px;"> |
|
|
<i class="el-icon-download"></i> |
|
|
|
|
|
<span ><a @click="exportData()">下载报告</a> </span> |
|
|
|
|
|
|
|
|
<a v-if="tableDataID!=''" @click="exportData()" class="el-icon-download"></a> |
|
|
|
|
|
<a v-else="tableDataID=''" @click="exportData()" style="color:rgba(187, 187, 187, 100);" class="el-icon-download"></a> |
|
|
|
|
|
<span > |
|
|
|
|
|
<a v-if="tableDataID!=''" @click="exportData()">下载报告</a> |
|
|
|
|
|
<a v-else="tableDataID=''" @click="exportData()" style="color:rgba(187, 187, 187, 100);">下载报告</a> |
|
|
|
|
|
</span> |
|
|
</div> |
|
|
</div> |
|
|
</span> |
|
|
</span> |
|
|
</div> |
|
|
</div> |
|
@@ -286,7 +297,7 @@ |
|
|
</div> |
|
|
</div> |
|
|
<div style="margin-top: 30px;"> |
|
|
<div style="margin-top: 30px;"> |
|
|
<el-table |
|
|
<el-table |
|
|
:data="tableDataID.slice((currentPage-1)*pageSize,currentPage*pageSize)" |
|
|
|
|
|
|
|
|
:data="tableDataID.slice((currentPage-1)*pageSize1,currentPage*pageSize1)" |
|
|
style="width: 100%" |
|
|
style="width: 100%" |
|
|
:header-cell-style="tableHeaderStyle" |
|
|
:header-cell-style="tableHeaderStyle" |
|
|
:cell-style='cellStyle'> |
|
|
:cell-style='cellStyle'> |
|
@@ -318,10 +329,12 @@ |
|
|
<div style="margin-top:50px;text-align:center"> |
|
|
<div style="margin-top:50px;text-align:center"> |
|
|
<el-pagination |
|
|
<el-pagination |
|
|
background |
|
|
background |
|
|
|
|
|
@size-change="handleSizeChangeID" |
|
|
@current-change="handleCurrentChangeID" |
|
|
@current-change="handleCurrentChangeID" |
|
|
:current-page="currentPage" |
|
|
:current-page="currentPage" |
|
|
:page-size="pageSize1" |
|
|
:page-size="pageSize1" |
|
|
layout="prev, pager, next" |
|
|
|
|
|
|
|
|
:page-sizes="[5,10,20]" |
|
|
|
|
|
layout="total, sizes,prev, pager, next,jumper" |
|
|
:total="tableDataID.length"> |
|
|
:total="tableDataID.length"> |
|
|
</el-pagination> |
|
|
</el-pagination> |
|
|
</div> |
|
|
</div> |
|
@@ -357,6 +370,7 @@ |
|
|
search:'', |
|
|
search:'', |
|
|
dynamic:7, |
|
|
dynamic:7, |
|
|
download_a:"", |
|
|
download_a:"", |
|
|
|
|
|
downLoadSrc:'', |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//单个项目参数 |
|
|
//单个项目参数 |
|
@@ -385,14 +399,22 @@ |
|
|
// download_file(){ |
|
|
// download_file(){ |
|
|
// this.params.type='all' |
|
|
// this.params.type='all' |
|
|
// }, |
|
|
// }, |
|
|
|
|
|
popMark(){ |
|
|
|
|
|
alert("数据为空时,不能下载!") |
|
|
|
|
|
}, |
|
|
exportData(){ |
|
|
exportData(){ |
|
|
|
|
|
|
|
|
// this.getOneProList(this.pro_id,'all',true,7) |
|
|
// this.getOneProList(this.pro_id,'all',true,7) |
|
|
// this.getOneProList(this.pro_id,'all',false,7) |
|
|
// this.getOneProList(this.pro_id,'all',false,7) |
|
|
// this.fileName() |
|
|
// this.fileName() |
|
|
this.currentPage=1 |
|
|
|
|
|
var saveFileName = this.getFileName() |
|
|
|
|
|
export2Excel(this.columns,this.tableDataID,saveFileName) |
|
|
|
|
|
|
|
|
if (this.tableDataID!=''){ |
|
|
|
|
|
this.currentPage=1 |
|
|
|
|
|
var saveFileName = this.getFileName() |
|
|
|
|
|
export2Excel(this.columns,this.tableDataID,saveFileName) |
|
|
|
|
|
}else{ |
|
|
|
|
|
alert("数据为空时,不能下载!") |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
getFileName(){ |
|
|
getFileName(){ |
|
|
|
|
|
|
|
@@ -406,11 +428,7 @@ |
|
|
var yesterday = this.saveFormatDate(tmp.getFullYear(),tmp.getMonth()+1,tmp.getDate()); |
|
|
var yesterday = this.saveFormatDate(tmp.getFullYear(),tmp.getMonth()+1,tmp.getDate()); |
|
|
var yesterday_tmp = this.formatDate(tmp.getFullYear(),tmp.getMonth()+1,tmp.getDate()) |
|
|
var yesterday_tmp = this.formatDate(tmp.getFullYear(),tmp.getMonth()+1,tmp.getDate()) |
|
|
|
|
|
|
|
|
let lastMonthDate = new Date(); // 上月日期 |
|
|
|
|
|
lastMonthDate.setDate(1); |
|
|
|
|
|
lastMonthDate.setMonth(lastMonthDate.getMonth()-1); |
|
|
|
|
|
let lastYear = lastMonthDate.getYear(); |
|
|
|
|
|
let lastMonth = lastMonthDate.getMonth(); |
|
|
|
|
|
|
|
|
|
|
|
var startDate='' |
|
|
var startDate='' |
|
|
var endDate='' |
|
|
var endDate='' |
|
|
var saveFileName = '' |
|
|
var saveFileName = '' |
|
@@ -458,10 +476,22 @@ |
|
|
break |
|
|
break |
|
|
} |
|
|
} |
|
|
case "last_month":{ |
|
|
case "last_month":{ |
|
|
startDate=this.formatDate(nowYear, lastMonth+1, 1); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let lastMonthDate = new Date(); // 上月日期 |
|
|
|
|
|
lastMonthDate.setDate(1); |
|
|
|
|
|
lastMonthDate.setMonth(lastMonthDate.getMonth()-1); |
|
|
|
|
|
let lastYear = lastMonthDate.getFullYear(); |
|
|
|
|
|
let lastMonth = lastMonthDate.getMonth(); |
|
|
|
|
|
|
|
|
|
|
|
startDate=this.formatDate(lastYear, lastMonth+1, 1); |
|
|
startDate = this.comparedate(startDate,this.recordBeginTime) |
|
|
startDate = this.comparedate(startDate,this.recordBeginTime) |
|
|
|
|
|
|
|
|
endDate=this.saveFormatDate(nowYear, lastMonth+1, this.saveFormatDate(nowYear,lastMonth)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var monthStartDate = new Date(lastYear, lastMonth, 1); |
|
|
|
|
|
var monthEndDate = new Date(lastYear, lastMonth+1, 1); |
|
|
|
|
|
var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24) |
|
|
|
|
|
|
|
|
|
|
|
endDate=this.saveFormatDate(lastYear, lastMonth+1, days); //月份从0开始,所以+1保存月份 |
|
|
saveFileName = this.pro_name+"_"+startDate+'_'+ endDate |
|
|
saveFileName = this.pro_name+"_"+startDate+'_'+ endDate |
|
|
break |
|
|
break |
|
|
} |
|
|
} |
|
@@ -501,6 +531,11 @@ |
|
|
resetCurrentPage(){ |
|
|
resetCurrentPage(){ |
|
|
this.currentPage=1 |
|
|
this.currentPage=1 |
|
|
}, |
|
|
}, |
|
|
|
|
|
handleSizeChange(val){ |
|
|
|
|
|
this.params.pagesize = val |
|
|
|
|
|
this.resetPage() |
|
|
|
|
|
this.getAllProList(this.params.type, this.dynamic) |
|
|
|
|
|
}, |
|
|
handleCurrentChange(val){ |
|
|
handleCurrentChange(val){ |
|
|
console.log(val) |
|
|
console.log(val) |
|
|
this.params.page = val |
|
|
this.params.page = val |
|
@@ -576,6 +611,9 @@ |
|
|
} |
|
|
} |
|
|
return (myyear +'-'+ mymonth +'-'+ myweekday); |
|
|
return (myyear +'-'+ mymonth +'-'+ myweekday); |
|
|
}, |
|
|
}, |
|
|
|
|
|
//获得某月的天数 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
getAllProList(type_val,index){ |
|
|
getAllProList(type_val,index){ |
|
|
console.log("类型:"+type_val) |
|
|
console.log("类型:"+type_val) |
|
@@ -636,10 +674,14 @@ |
|
|
return 'background:#f5f5f6;color:#606266' |
|
|
return 'background:#f5f5f6;color:#606266' |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
handleSizeChangeID(val){ |
|
|
|
|
|
this.pageSize1=val |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
handleCurrentChangeID(currentPage){ |
|
|
handleCurrentChangeID(currentPage){ |
|
|
this.currentPage = currentPage; |
|
|
this.currentPage = currentPage; |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
getOneProData(pro_id){ |
|
|
getOneProData(pro_id){ |
|
|
this.$axios.get('../api/v1/projectboard/project/'+pro_id,{ |
|
|
this.$axios.get('../api/v1/projectboard/project/'+pro_id,{ |
|
|
}).then((res)=>{ |
|
|
}).then((res)=>{ |
|
@@ -698,7 +740,39 @@ |
|
|
textStyle:{ |
|
|
textStyle:{ |
|
|
color:'black' |
|
|
color:'black' |
|
|
}, |
|
|
}, |
|
|
position: 'right' |
|
|
|
|
|
|
|
|
position: 'right', |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// formatter: function (params) { |
|
|
|
|
|
// console.log('params:',params) |
|
|
|
|
|
// console.log('params.data:',params[0]) |
|
|
|
|
|
// let str = params.data.name + "<br />"; |
|
|
|
|
|
// params.data.forEach((item) => { |
|
|
|
|
|
// str += |
|
|
|
|
|
// '<span style="display:inline-block;margin-right:5px;border-radius:50%;width:10px;height:10px;left:5px;background-color:'+params.color+'"></span>' + item.seriesName + " : " + '<span style="float:right">'+item.data[1] +'</span>'+ "<br />"; |
|
|
|
|
|
// }); |
|
|
|
|
|
// return str; |
|
|
|
|
|
// }, |
|
|
|
|
|
// formatter: function (params, ticket, callback) { |
|
|
|
|
|
// console.log(params); |
|
|
|
|
|
// var showHtm=""; |
|
|
|
|
|
// var data = params.data.value |
|
|
|
|
|
// for(var i=0;i<data.length;i++){ |
|
|
|
|
|
// //x轴名称 |
|
|
|
|
|
// var name = data[i]; |
|
|
|
|
|
// //值 |
|
|
|
|
|
// var value = params[i][2]; |
|
|
|
|
|
// showHtm+= text+ '--' + name + ' :' + value+'<br>' |
|
|
|
|
|
// } |
|
|
|
|
|
// return showHtm; |
|
|
|
|
|
// } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
},//提示层 |
|
|
},//提示层 |
|
|
legend: { |
|
|
legend: { |
|
@@ -792,7 +866,7 @@ |
|
|
backgroundColor:'rgba(255,255,255,0.8)', |
|
|
backgroundColor:'rgba(255,255,255,0.8)', |
|
|
color:'black', |
|
|
color:'black', |
|
|
borderWidth:'1', |
|
|
borderWidth:'1', |
|
|
borderColor:'gray', |
|
|
|
|
|
|
|
|
borderColor:'#DCE7FB', |
|
|
textStyle:{ |
|
|
textStyle:{ |
|
|
color:'black' |
|
|
color:'black' |
|
|
}, |
|
|
}, |
|
@@ -1070,6 +1144,11 @@ |
|
|
|
|
|
|
|
|
created() { |
|
|
created() { |
|
|
// this.download_a=document.getElementById("download_file") |
|
|
// this.download_a=document.getElementById("download_file") |
|
|
|
|
|
}, |
|
|
|
|
|
updated(){ |
|
|
|
|
|
if(document.querySelectorAll('img[avatar]').length!==0){ |
|
|
|
|
|
window.LetterAvatar.transform() |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
</script> |
|
|
</script> |
|
@@ -1127,7 +1206,7 @@ |
|
|
} |
|
|
} |
|
|
.items{ |
|
|
.items{ |
|
|
text-align: center; |
|
|
text-align: center; |
|
|
border-right:2px solid rgba(219, 219, 219, 100); |
|
|
|
|
|
|
|
|
border-right:1px solid rgba(219, 219, 219, 100); |
|
|
} |
|
|
} |
|
|
.item_l{ |
|
|
.item_l{ |
|
|
margin-right: 5px; |
|
|
margin-right: 5px; |
|
@@ -1139,6 +1218,7 @@ |
|
|
margin-right:5px; |
|
|
margin-right:5px; |
|
|
border:1px solid rgba(219, 219, 219, 100); |
|
|
border:1px solid rgba(219, 219, 219, 100); |
|
|
height: 370px; |
|
|
height: 370px; |
|
|
|
|
|
overflow:auto |
|
|
} |
|
|
} |
|
|
.item_echart{ |
|
|
.item_echart{ |
|
|
margin-top: 10px; |
|
|
margin-top: 10px; |
|
@@ -1150,5 +1230,6 @@ |
|
|
.item_content{ |
|
|
.item_content{ |
|
|
color: #409eff; |
|
|
color: #409eff; |
|
|
margin-top: 10px; |
|
|
margin-top: 10px; |
|
|
|
|
|
font-weight:bold; |
|
|
} |
|
|
} |
|
|
</style> |
|
|
</style> |