记录下来备忘

结构如下

Report.vue

  1. <template>
  2. <div>
  3. <home-header></home-header>
  4. <div class="report">
  5. <div class="rs_1"></div>
  6. <div class="rs_4">检测报告查询</div>
  7. <div class="tools">
  8.  
  9. <table-view @changPage="changPage" :reportData="reportData" :count="count" :Offset="Offset" :Limit="Limit"></table-view>
  10.  
  11. </div>
  12. </div>
  13. <footer-view></footer-view>
  14.  
  15. </div>
  16. </template>
  17. <script>
  18. import HomeHeader from '../header/Header'
  19. import FooterView from '../footer/FooterView'
  20. import TableView from './components/TableView'
  21. import axios from 'axios'
  22. import {urlApi} from '@/api/api.js'
  23. import { format } from '@/util/util.js'
  24. export default {
  25. name:'Report',
  26. components:{
  27. HomeHeader,
  28. FooterView,
  29. TableView
  30. },
  31. data(){
  32. return{
  33. reportData:[],
  34. count:0,
  35. Offset:0,
  36. Limit:10
  37. }
  38. },
  39. methods:{
  40. changPage(v){
  41. this.Offset = (v-1)*10;
  42. this.getReport(this.Offset,this.Limit);
  43. },
  44. getReport(Offset=0,Limit=10){
  45. /* post */
  46. let params = new URLSearchParams();
  47. params.append('Offset',Offset);
  48. params.append('Limit',10);
  49. params.append('Limit',10);
  50. params.append('postType','web');
  51.  
  52. axios.post(urlApi.getReport,params)
  53. .then(this.getReportSucc)
  54. /* post */
  55. },
  56. getReportSucc(res){
  57. this.reportData = [];
  58. if(res.data.error_code==0 && res.data.reason){
  59. this.count = res.data.count;
  60. res.data.reason.forEach((item,index) => {
  61. // console.log(format(item.SEND_TIME));
  62. // item.PATIENT_NAME = item.PATIENT_NAME.split(',')[0]
  63. item.PATIENT_NAME = item.PATIENT_NAME.charAt(0)+'***';
  64. item.SEND_TIME = format(item.SEND_TIME)
  65. });
  66. this.reportData = res.data.reason;
  67. }
  68. }
  69. },
  70. mounted() {
  71. this.getReport();
  72. },
  73. }
  74. </script>
  75. <style lang="stylus">
  76. .report
  77. width 1280px
  78. min-height 900px
  79. background #161F60
  80. margin 51px auto 0
  81. position relative
  82. color white
  83. float left
  84. left 50%
  85. margin-left -640px
  86. .rs_1
  87. position absolute
  88. top 0
  89. left 0
  90. width 73px
  91. height 75px
  92. background url('../../assets/dat/rs_1.png') no-repeat
  93. .rs_2
  94. position absolute
  95. bottom 0
  96. left 0
  97. width 1280px
  98. height 228px
  99. background url('../../assets/dat/rs_2.png') no-repeat
  100. z-index 9
  101. .rs_3
  102. position absolute
  103. top 0px
  104. right 0
  105. width 80px
  106. height 6px
  107. background url('../../assets/dat/rs_3.png') no-repeat
  108. .rs_4
  109. position absolute
  110. top 28px
  111. left 25px
  112. width 221px
  113. height 46px
  114. background url('../../assets/dat/rs_4.jpg') no-repeat
  115. text-align center
  116. line-height 46px
  117. font-size 18px
  118. .tools
  119. margin-top 140px
  120. </style>

  Table.vue

  1. <template>
  2. <div>
  3.  
  4. <el-table
  5. :data="reportData"
  6. border
  7. style="width: 100%">
  8. <el-table-column
  9. label="序号"
  10. width="70"
  11. >
  12. <template scope="scope">
  13. <span>
  14. {{scope.$index+((Offset+10)/10-1)*Limit+1}}
  15. </span>
  16. </template>
  17. </el-table-column>
  18. <el-table-column
  19. prop="PATIENT_NAME"
  20. label="患者姓名"
  21. width="180">
  22. </el-table-column>
  23. <el-table-column
  24. prop="SEND_TIME"
  25. label="送检日期"
  26. width="180">
  27. </el-table-column>
  28. <el-table-column
  29. prop="PHY_NAME"
  30. label="医生"
  31. width="180">
  32. </el-table-column>
  33. <el-table-column
  34. prop="REPORT_TYPE"
  35. label="检测类型"
  36. width="180">
  37. </el-table-column>
  38. <el-table-column
  39. prop="PKG_NUM"
  40. label="检测条码"
  41. width="180">
  42. </el-table-column>
  43. <el-table-column
  44. prop="REPORT_STATUS"
  45. label="REPORT_STATUS"
  46. width="180">
  47. </el-table-column>
  48. <el-table-column label="操作" align="center">
  49. <template slot-scope="scope">
  50. <el-button type="button" v-if="scope.row.REPORT_STATUS == '有报告'" @click="checkDetail(scope.row.REPORT_CODE,scope.row.PATIENT_NAME)">下载报告</el-button>
  51. <div v-else>{{scope.row.REPORT_STATUS}}</div>
  52. </template>
  53. </el-table-column>
  54. </el-table>
  55. <div class="page">
  56. <el-pagination
  57. @current-change="handleCurrentChange"
  58. small
  59. background
  60. layout="prev, pager, next"
  61. :total="count">
  62. </el-pagination>
  63. </div>
  64.  
  65. <el-dialog :title="name" :visible.sync="dialogTableVisible">
  66. <el-table border :data="ihcdata">
  67. <el-table-column property="REPORT_TYPE" label="报告类型" width="150"></el-table-column>
  68. <el-table-column property="SEND_TIME" label="送检日期" width="200"></el-table-column>
  69. <el-table-column property="BARCODE" label="样本检测条码"></el-table-column>
  70.  
  71. <el-table-column label="操作" align="center">
  72. <template slot-scope="scope">
  73. <el-button type="button" @click="checkDownload(scope.row.ATTACH_ID)">下载</el-button>
  74. </template>
  75. </el-table-column>
  76.  
  77. </el-table>
  78.  
  79. <el-table border :data="ngsdata" class="myrow">
  80. <el-table-column property="REPORT_TYPE" label="报告类型" width="150"></el-table-column>
  81. <el-table-column property="SEND_TIME" label="送检日期" width="200"></el-table-column>
  82. <el-table-column property="BARCODE" label="样本检测条码"></el-table-column>
  83.  
  84. <el-table-column label="操作" align="center">
  85. <template slot-scope="scope">
  86. <el-button type="button" @click="checkDownload(scope.row.ATTACH_ID)">下载</el-button>
  87. </template>
  88. </el-table-column>
  89.  
  90. </el-table>
  91. </el-dialog>
  92.  
  93. </div>
  94. </template>
  95. <script>
  96. import axios from 'axios'
  97. import {urlApi} from '@/api/api.js'
  98. import { format } from '@/util/util.js'
  99. export default {
  100. name:'TableView',
  101. props:{
  102. reportData:Array,
  103. count:Number,
  104. Offset:Number,
  105. Limit:Number
  106. },
  107. data(){
  108. return{
  109. dialogTableVisible:false,
  110. name:'',
  111. ihcdata: [],
  112. ngsdata:[],
  113. }
  114. },
  115. methods:{
  116. checkDownload(id){
  117. //console.log(v);
  118. /* post */
  119. /*
  120. let iparams = new URLSearchParams();
  121. iparams.append('ATTACH_ID',id);
  122.  
  123. axios.post(urlApi.downloadReport,iparams)
  124. .then(this.downloadReportSucc)
  125. */
  126. /* post */
  127. window.location.href=urlApi.downloadReport+'&ATTACH_ID='+id;
  128. },
  129. downloadReportSucc(res){
  130.  
  131. if(res.data.error_code != 0){
  132. this.$message(res.data.msg);
  133. }else{
  134. console.log(res);
  135. window.location.href=res;
  136. }
  137. },
  138. handleCurrentChange(currentPage){
  139. this.$emit("changPage",currentPage);
  140. },
  141. checkDetail(detail,name){
  142. this.name = name+'的检测报告';
  143. this.getReportsByOrderId(detail,name);
  144. },
  145. getReportsByOrderId(reportcode,name){
  146. /* post */
  147. let params = new URLSearchParams();
  148. params.append('REPORT_CODE',reportcode);
  149. params.append('postType','web');
  150.  
  151. axios.post(urlApi.getReportsByOrderId,params)
  152. .then(this.getReportsByOrderIdSucc)
  153. /* post */
  154. },
  155. getReportsByOrderIdSucc(res){
  156. if(res.data.error_code==0 && res.data.reason){
  157. console.log(res.data.reason)
  158. res.data.reason.IHCList.forEach((item,index) => {
  159. //console.log(res.data.reason);
  160. item.SEND_TIME = format(item.SEND_TIME)
  161. });
  162. res.data.reason.NGSList.forEach((item,index) => {
  163. //console.log(res.data.reason);
  164. item.SEND_TIME = format(item.SEND_TIME)
  165. });
  166. this.ihcdata = [];
  167. this.ngsdata = [];
  168. this.ihcdata = res.data.reason.IHCList;
  169. this.ngsdata = res.data.reason.NGSList;
  170. this.dialogTableVisible = true;
  171. }
  172. }
  173. }
  174. }
  175. </script>
  176. <style lang="stylus">
  177. .page
  178. width 100%
  179. text-align center
  180. margin-top 20px
  181. .myrow
  182. margin-top 30px
  183. </style>

  

elementui table 分页 和 tabel 前加序列号的更多相关文章

  1. element-UI table分页之后保存已经勾选的标签

  2. 项目总结17-使用layui table分页表格

    项目总结17-使用layui table分页表格总结 前言 在项目中,需要用到分页的表格来展示数据,发现layui的分页表格,是一个很好的选择:本文介绍layui table分页表格的前后端简单使用 ...

  3. bootstrap table分页(前后端两种方式实现)

    bootstrap table分页的两种方式: 前端分页:一次性从数据库查询所有的数据,在前端进行分页(数据量小的时候或者逻辑处理不复杂的话可以使用前端分页) 服务器分页:每次只查询当前页面加载所需要 ...

  4. 关于【vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据】的优化

    之前写的[vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据]这篇博客.功能虽然实现了相对应的功能.但是用起来很不爽.所以进行了优化. 备注:最近可能没时 ...

  5. vue+element-ui 实现分页(根据el-table内容变换的分页)

    官方例子 官方提示: 设置layout,表示需要显示的内容,用逗号分隔,布局元素会依次显示.prev表示上一页,next为下一页,pager表示页码列表,除此以外还提供了jumper和total,si ...

  6. vue+elementUI实现 分页表格的单选或者多选、及禁止部分选择

    一.vue+elementUI实现 分页表格前的多选 多选效果图: 代码如下: <el-table ref="multipleTable" :data="listD ...

  7. Table 分页处理

    介绍两种table分页处理:PHP分页 和 js(jquery.table)分页. 一:jquery.table: 1:下载两个文件:table_jui.css 和 jquery.dataTables ...

  8. JQuery实现table分页

    1.直接贴代码: ; //每页显示的记录条数 ; //显示第curPage页 var len; //总行数 var page; //总页数 $(function(){ len =$(; //去掉表头 ...

  9. C++在字符串前加一个L作用:

    在字符串前加一个L作用:    如 L"我的字符串" 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节.    strlen("asd" ...

随机推荐

  1. Redis 和缓存技术

    Redis 是什么?什么作用?优点和缺点? https://blog.csdn.net/weixin_42295141/article/details/81380633 Redis 的主要功能哨兵+复 ...

  2. C# NotifyIcon 托盘控件

    右下角以图标形式显示,双击图标显示界面,最小化界面时不显示在任务栏. 第一步:在界面上添加NotifyIcon控件. 第二步:设置notifyIcon1的属性,添加图标,将Visible设为true. ...

  3. Python 简单购物程序

    # Author:Eric Zhao# -*- coding:utf-8 -*-'''需求:启动程序后,让用户输入工资,然后打印商品列表允许用户根据商品编号购买商品用户选择商品后,检测余额是否够,够就 ...

  4. Linux学习-X Server 配置文件解析与设定

    X server 的配置 文件都是预设放置在 /etc/X11 目录下,而相关的显示模块或上面提到的总总模块,则主要放置在/usr/lib64/xorg/modules . 比较重要的是字型文件与芯片 ...

  5. Linux和 Mac下git pull/push 免输入密码和账号

    linux下面可以直接创建.git-credential文件,命令如下: 创建文件,进入文件,输入内容: cd ~ touch .git-credentials vim .git-credential ...

  6. Java技术——Java中创建对象的5种方式

    此文为译文 原文连接:https://dzone.com/articles/5-different-ways-to-create-objects-in-java-with-ex 0. 前言 作为Jav ...

  7. 关于mysql中select出数据未排序问题

    来自  mysql必知必会

  8. __block 和__weak

    1,在MRC 时代,__block 修饰,可以避免循环引用:ARC时代,__block 修饰,同样会引起循环引用问题: 2,__block不管是ARC还是MRC模式下都可以使用,可以修饰对象,还可以修 ...

  9. iOS关于Xcode上的Other linker flags

    Targets选项下有Other linker flags的设置,用来填写XCode的链接器参数,如:-ObjC -all_load -force_load等.还记得我们在学习C程序的时候,从C代码到 ...

  10. Oracle 表空间的日常维护与管理

    目录 Oracle 表空间的日常维护与管理 1.创建数据表空间 2.创建临时表空间 3.创建 UNDO 表空间 4.表空间的扩展与修改大小 5.表空间重命名 6.表空间的删除 7.更改表空间的读写模式 ...