elementui table 分页 和 tabel 前加序列号
记录下来备忘
结构如下
Report.vue
- <template>
- <div>
- <home-header></home-header>
- <div class="report">
- <div class="rs_1"></div>
- <div class="rs_4">检测报告查询</div>
- <div class="tools">
- <table-view @changPage="changPage" :reportData="reportData" :count="count" :Offset="Offset" :Limit="Limit"></table-view>
- </div>
- </div>
- <footer-view></footer-view>
- </div>
- </template>
- <script>
- import HomeHeader from '../header/Header'
- import FooterView from '../footer/FooterView'
- import TableView from './components/TableView'
- import axios from 'axios'
- import {urlApi} from '@/api/api.js'
- import { format } from '@/util/util.js'
- export default {
- name:'Report',
- components:{
- HomeHeader,
- FooterView,
- TableView
- },
- data(){
- return{
- reportData:[],
- count:0,
- Offset:0,
- Limit:10
- }
- },
- methods:{
- changPage(v){
- this.Offset = (v-1)*10;
- this.getReport(this.Offset,this.Limit);
- },
- getReport(Offset=0,Limit=10){
- /* post */
- let params = new URLSearchParams();
- params.append('Offset',Offset);
- params.append('Limit',10);
- params.append('Limit',10);
- params.append('postType','web');
- axios.post(urlApi.getReport,params)
- .then(this.getReportSucc)
- /* post */
- },
- getReportSucc(res){
- this.reportData = [];
- if(res.data.error_code==0 && res.data.reason){
- this.count = res.data.count;
- res.data.reason.forEach((item,index) => {
- // console.log(format(item.SEND_TIME));
- // item.PATIENT_NAME = item.PATIENT_NAME.split(',')[0]
- item.PATIENT_NAME = item.PATIENT_NAME.charAt(0)+'***';
- item.SEND_TIME = format(item.SEND_TIME)
- });
- this.reportData = res.data.reason;
- }
- }
- },
- mounted() {
- this.getReport();
- },
- }
- </script>
- <style lang="stylus">
- .report
- width 1280px
- min-height 900px
- background #161F60
- margin 51px auto 0
- position relative
- color white
- float left
- left 50%
- margin-left -640px
- .rs_1
- position absolute
- top 0
- left 0
- width 73px
- height 75px
- background url('../../assets/dat/rs_1.png') no-repeat
- .rs_2
- position absolute
- bottom 0
- left 0
- width 1280px
- height 228px
- background url('../../assets/dat/rs_2.png') no-repeat
- z-index 9
- .rs_3
- position absolute
- top 0px
- right 0
- width 80px
- height 6px
- background url('../../assets/dat/rs_3.png') no-repeat
- .rs_4
- position absolute
- top 28px
- left 25px
- width 221px
- height 46px
- background url('../../assets/dat/rs_4.jpg') no-repeat
- text-align center
- line-height 46px
- font-size 18px
- .tools
- margin-top 140px
- </style>
Table.vue
- <template>
- <div>
- <el-table
- :data="reportData"
- border
- style="width: 100%">
- <el-table-column
- label="序号"
- width="70"
- >
- <template scope="scope">
- <span>
- {{scope.$index+((Offset+10)/10-1)*Limit+1}}
- </span>
- </template>
- </el-table-column>
- <el-table-column
- prop="PATIENT_NAME"
- label="患者姓名"
- width="180">
- </el-table-column>
- <el-table-column
- prop="SEND_TIME"
- label="送检日期"
- width="180">
- </el-table-column>
- <el-table-column
- prop="PHY_NAME"
- label="医生"
- width="180">
- </el-table-column>
- <el-table-column
- prop="REPORT_TYPE"
- label="检测类型"
- width="180">
- </el-table-column>
- <el-table-column
- prop="PKG_NUM"
- label="检测条码"
- width="180">
- </el-table-column>
- <el-table-column
- prop="REPORT_STATUS"
- label="REPORT_STATUS"
- width="180">
- </el-table-column>
- <el-table-column label="操作" align="center">
- <template slot-scope="scope">
- <el-button type="button" v-if="scope.row.REPORT_STATUS == '有报告'" @click="checkDetail(scope.row.REPORT_CODE,scope.row.PATIENT_NAME)">下载报告</el-button>
- <div v-else>{{scope.row.REPORT_STATUS}}</div>
- </template>
- </el-table-column>
- </el-table>
- <div class="page">
- <el-pagination
- @current-change="handleCurrentChange"
- small
- background
- layout="prev, pager, next"
- :total="count">
- </el-pagination>
- </div>
- <el-dialog :title="name" :visible.sync="dialogTableVisible">
- <el-table border :data="ihcdata">
- <el-table-column property="REPORT_TYPE" label="报告类型" width="150"></el-table-column>
- <el-table-column property="SEND_TIME" label="送检日期" width="200"></el-table-column>
- <el-table-column property="BARCODE" label="样本检测条码"></el-table-column>
- <el-table-column label="操作" align="center">
- <template slot-scope="scope">
- <el-button type="button" @click="checkDownload(scope.row.ATTACH_ID)">下载</el-button>
- </template>
- </el-table-column>
- </el-table>
- <el-table border :data="ngsdata" class="myrow">
- <el-table-column property="REPORT_TYPE" label="报告类型" width="150"></el-table-column>
- <el-table-column property="SEND_TIME" label="送检日期" width="200"></el-table-column>
- <el-table-column property="BARCODE" label="样本检测条码"></el-table-column>
- <el-table-column label="操作" align="center">
- <template slot-scope="scope">
- <el-button type="button" @click="checkDownload(scope.row.ATTACH_ID)">下载</el-button>
- </template>
- </el-table-column>
- </el-table>
- </el-dialog>
- </div>
- </template>
- <script>
- import axios from 'axios'
- import {urlApi} from '@/api/api.js'
- import { format } from '@/util/util.js'
- export default {
- name:'TableView',
- props:{
- reportData:Array,
- count:Number,
- Offset:Number,
- Limit:Number
- },
- data(){
- return{
- dialogTableVisible:false,
- name:'',
- ihcdata: [],
- ngsdata:[],
- }
- },
- methods:{
- checkDownload(id){
- //console.log(v);
- /* post */
- /*
- let iparams = new URLSearchParams();
- iparams.append('ATTACH_ID',id);
- axios.post(urlApi.downloadReport,iparams)
- .then(this.downloadReportSucc)
- */
- /* post */
- window.location.href=urlApi.downloadReport+'&ATTACH_ID='+id;
- },
- downloadReportSucc(res){
- if(res.data.error_code != 0){
- this.$message(res.data.msg);
- }else{
- console.log(res);
- window.location.href=res;
- }
- },
- handleCurrentChange(currentPage){
- this.$emit("changPage",currentPage);
- },
- checkDetail(detail,name){
- this.name = name+'的检测报告';
- this.getReportsByOrderId(detail,name);
- },
- getReportsByOrderId(reportcode,name){
- /* post */
- let params = new URLSearchParams();
- params.append('REPORT_CODE',reportcode);
- params.append('postType','web');
- axios.post(urlApi.getReportsByOrderId,params)
- .then(this.getReportsByOrderIdSucc)
- /* post */
- },
- getReportsByOrderIdSucc(res){
- if(res.data.error_code==0 && res.data.reason){
- console.log(res.data.reason)
- res.data.reason.IHCList.forEach((item,index) => {
- //console.log(res.data.reason);
- item.SEND_TIME = format(item.SEND_TIME)
- });
- res.data.reason.NGSList.forEach((item,index) => {
- //console.log(res.data.reason);
- item.SEND_TIME = format(item.SEND_TIME)
- });
- this.ihcdata = [];
- this.ngsdata = [];
- this.ihcdata = res.data.reason.IHCList;
- this.ngsdata = res.data.reason.NGSList;
- this.dialogTableVisible = true;
- }
- }
- }
- }
- </script>
- <style lang="stylus">
- .page
- width 100%
- text-align center
- margin-top 20px
- .myrow
- margin-top 30px
- </style>
elementui table 分页 和 tabel 前加序列号的更多相关文章
- element-UI table分页之后保存已经勾选的标签
- 项目总结17-使用layui table分页表格
项目总结17-使用layui table分页表格总结 前言 在项目中,需要用到分页的表格来展示数据,发现layui的分页表格,是一个很好的选择:本文介绍layui table分页表格的前后端简单使用 ...
- bootstrap table分页(前后端两种方式实现)
bootstrap table分页的两种方式: 前端分页:一次性从数据库查询所有的数据,在前端进行分页(数据量小的时候或者逻辑处理不复杂的话可以使用前端分页) 服务器分页:每次只查询当前页面加载所需要 ...
- 关于【vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据】的优化
之前写的[vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据]这篇博客.功能虽然实现了相对应的功能.但是用起来很不爽.所以进行了优化. 备注:最近可能没时 ...
- vue+element-ui 实现分页(根据el-table内容变换的分页)
官方例子 官方提示: 设置layout,表示需要显示的内容,用逗号分隔,布局元素会依次显示.prev表示上一页,next为下一页,pager表示页码列表,除此以外还提供了jumper和total,si ...
- vue+elementUI实现 分页表格的单选或者多选、及禁止部分选择
一.vue+elementUI实现 分页表格前的多选 多选效果图: 代码如下: <el-table ref="multipleTable" :data="listD ...
- Table 分页处理
介绍两种table分页处理:PHP分页 和 js(jquery.table)分页. 一:jquery.table: 1:下载两个文件:table_jui.css 和 jquery.dataTables ...
- JQuery实现table分页
1.直接贴代码: ; //每页显示的记录条数 ; //显示第curPage页 var len; //总行数 var page; //总页数 $(function(){ len =$(; //去掉表头 ...
- C++在字符串前加一个L作用:
在字符串前加一个L作用: 如 L"我的字符串" 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节. strlen("asd" ...
随机推荐
- Redis 和缓存技术
Redis 是什么?什么作用?优点和缺点? https://blog.csdn.net/weixin_42295141/article/details/81380633 Redis 的主要功能哨兵+复 ...
- C# NotifyIcon 托盘控件
右下角以图标形式显示,双击图标显示界面,最小化界面时不显示在任务栏. 第一步:在界面上添加NotifyIcon控件. 第二步:设置notifyIcon1的属性,添加图标,将Visible设为true. ...
- Python 简单购物程序
# Author:Eric Zhao# -*- coding:utf-8 -*-'''需求:启动程序后,让用户输入工资,然后打印商品列表允许用户根据商品编号购买商品用户选择商品后,检测余额是否够,够就 ...
- Linux学习-X Server 配置文件解析与设定
X server 的配置 文件都是预设放置在 /etc/X11 目录下,而相关的显示模块或上面提到的总总模块,则主要放置在/usr/lib64/xorg/modules . 比较重要的是字型文件与芯片 ...
- Linux和 Mac下git pull/push 免输入密码和账号
linux下面可以直接创建.git-credential文件,命令如下: 创建文件,进入文件,输入内容: cd ~ touch .git-credentials vim .git-credential ...
- Java技术——Java中创建对象的5种方式
此文为译文 原文连接:https://dzone.com/articles/5-different-ways-to-create-objects-in-java-with-ex 0. 前言 作为Jav ...
- 关于mysql中select出数据未排序问题
来自 mysql必知必会
- __block 和__weak
1,在MRC 时代,__block 修饰,可以避免循环引用:ARC时代,__block 修饰,同样会引起循环引用问题: 2,__block不管是ARC还是MRC模式下都可以使用,可以修饰对象,还可以修 ...
- iOS关于Xcode上的Other linker flags
Targets选项下有Other linker flags的设置,用来填写XCode的链接器参数,如:-ObjC -all_load -force_load等.还记得我们在学习C程序的时候,从C代码到 ...
- Oracle 表空间的日常维护与管理
目录 Oracle 表空间的日常维护与管理 1.创建数据表空间 2.创建临时表空间 3.创建 UNDO 表空间 4.表空间的扩展与修改大小 5.表空间重命名 6.表空间的删除 7.更改表空间的读写模式 ...