index.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <template>
  2. <el-card class="box-card">
  3. <div class="operateDiv">
  4. <el-button size="medium" icon="el-icon-download" @click="frontDownload">下载模板</el-button>
  5. </div>
  6. <div style="margin-top: .5% ">
  7. <el-table
  8. :data="tableData.slice((page.currentPage-1)*page.pageSize,page.currentPage*page.pageSize)"
  9. border
  10. style="width: 100%">
  11. <el-table-column
  12. prop="name" align="center"
  13. label="项目名称"
  14. >
  15. </el-table-column>
  16. <el-table-column label="操作" align="center">
  17. <template slot-scope="scope">
  18. <el-button icon="el-icon-download" @click="handleClick(scope.row)" type="text" size="small">下载最新进展</el-button>
  19. <el-button icon="el-icon-upload2" @click="handleClick(scope.row)" type="text" size="small">上传进展</el-button>
  20. <el-button icon="el-icon-upload2" @click="handleClick(scope.row)" type="text" size="small">上传附件</el-button>
  21. </template>
  22. </el-table-column>
  23. </el-table>
  24. <div class="block">
  25. <el-pagination
  26. @size-change="handleSizeChange"
  27. @current-change="handleCurrentChange"
  28. :current-page=page.currentPage
  29. :page-sizes="[10, 15, 30, 50]"
  30. :page-size=page.pageSize
  31. layout="total, sizes, prev, pager, next, jumper"
  32. :total=page.total>
  33. </el-pagination>
  34. </div>
  35. </div>
  36. </el-card>
  37. </template>
  38. <script>
  39. import {getProjectInfo} from "@/api/biz/manualEntry/projectEvolveEntry";
  40. export default {
  41. // 项目进展录入
  42. name: "index",
  43. data(){
  44. return{
  45. tableData:[],
  46. page: {
  47. total: 0, // 总页数
  48. currentPage: 1, // 当前页数
  49. pageSize: 10 // 每页显示多少条
  50. },
  51. }
  52. },
  53. mounted() {
  54. this.initInfo()
  55. },
  56. methods: {
  57. initInfo() {
  58. getProjectInfo().then(res=>{
  59. console.log(res.data)
  60. this.tableData = res.data
  61. this.page.total = this.tableData.length
  62. }).catch(err=>{
  63. console.log('获取项目信息异常:'+err)
  64. })
  65. },
  66. handleClick(row) {
  67. console.log(row);
  68. },
  69. /*pageSize改变*/
  70. handleSizeChange(val) {
  71. this.page.pageSize = val
  72. this.page.currentPage = 1
  73. },
  74. /*currentPage改变*/
  75. handleCurrentChange(val) {
  76. this.page.currentPage = val
  77. },
  78. frontDownload() {
  79. let a = document.createElement("a"); //创建一个<a></a>标签
  80. a.href = "/static/模板.xls"; // 给a标签的href属性值加上地址,注意,这里是绝对路径,不用加 点.
  81. a.download = "模板(新).xls"; //设置下载文件文件名,这里加上.xlsx指定文件类型,pdf文件就指定.fpd即可
  82. a.style.display = "none"; // 障眼法藏起来a标签
  83. document.body.appendChild(a); // 将a标签追加到文档对象中
  84. a.click(); // 模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了
  85. a.remove(); // 一次性的,用完就删除a标签
  86. }
  87. }
  88. }
  89. </script>
  90. <style scoped>
  91. .operateDiv{
  92. display: flex;
  93. }
  94. .block{
  95. float: right;
  96. margin: 1%;
  97. }
  98. </style>