1.前端分页(附带增删改):
<template>
<div class="hello">
<!--弹出框-->
<div class="modal-all" v-bind:style="{display:display}">
<span class="verticalAlign"></span>
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true" @click="close">×
</button>
<h4 class="modal-title" id="myModalLabel">
提示
</h4>
</div>
<div class="modal-body">
<div style="width: 150px;">内容不能为空!</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" id="close" data-dismiss="modal" @click="close">关闭
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!--弹出框结束-->
<div class="table-wrap full-content">
<div class="table-left full-left">
<ul class="left-menu">
<li class="active">
<a href="#">
<router-link :to="{name:'AddDrug',params:{admin:admin,IsAllDesk:IsAllDesk,Right:Right}}">
<i class="fa fa-list-ul"></i>
<dd>疫苗列表</dd>
</router-link>
</a>
</li>
<li>
<a href="#">
<router-link :to="{name:'DrugTable',params:{admin:admin,IsAllDesk:IsAllDesk,Right:Right}}">
<i class="fa fa-edit"></i>
<dd>疫苗填报</dd>
</router-link>
</a>
</li>
<li>
<a href="#">
<router-link :to="{name:'ExportDrug',params:{admin:admin,IsAllDesk:IsAllDesk,Right:Right}}">
<i class="fa fa-server"></i>
<dd>导出列表</dd>
</router-link>
</a>
</li>
</ul>
</div>
<div class="table-right full-right">
<div class="posi-wrap">
<ul class="posi-ul">
<li>
<a href=""><i class="fa fa-database"></i>系统基础数据</a>
</li>
<li><span>></span>疫苗接种数报表</li>
</ul>
</div>
<div class="main-wrap-fff">
<div class="container-fluid form-wrap dataOne">
<div class="row ser-block">
<div class="col-xs-12">
<div class="key-wrap keyser">
<div class="ser-wrap">
<button class="data-ser" @click="add" id="add">添加</button>
</div>
</div>
</div>
</div>
<br />
<div class="row">
<div class="col-xs-12">
<div class="table-responsive">
<table class="table data-table">
<thead>
<tr class="data-order" data-order="id" data-sort="1">
<th class="order" data-order="a">
<div class="drop-wrap">
<span>序号</span> <ins></ins>
</div>
</th>
<th class="order" data-order="b">
<div class="drop-wrap">
<span>疫苗简称</span> <ins></ins>
</div>
</th>
<th class="order" data-order="c">
<div class="drop-wrap">
<span>生产厂家</span> <ins></ins>
</div>
</th>
<th class="order" data-order="d">
<div class="drop-wrap">
<span>规格</span> <ins></ins>
</div>
</th>
<th class="order" data-order="e">
<div class="drop-wrap">
<span>操作</span> <ins></ins>
</div>
</th>
</tr>
</thead>
<tbody class="data-tbody" id="tbody">
<tr v-for="(item,index) in list" v-bind:id="item.ID">
<td>{{index+1}}</td>
<td>{{item.VaccinName}}</td>
<td>{{item.Factory}}</td>
<td>{{item.Unit}}</td>
<td>
<button class="btn-table btn-warning" v-bind:id="item.ID" @click="EditData">编辑</button>
<button class="btn-table btn-danger" v-bind:id="['b'+item.ID]" @click="deleteData">删除</button>
</td>
<!--<td>{{item.Year}}</td>
<td>{{item.Month}}</td>
<td>{{item.CreateDate}}</td>-->
</tr>
<tr id="addtr" style="display: none;">
<td></td>
<td><input required='required'></td>
<td><input required='required'></td>
<td><input required='required'></td>
<td>
<button class="btn-table btn-primary" @click="save" style="display: none;" id="save">保存</button>
<button class="btn-table btn-default" @click="cancel" style="display: none;" id="cancel">取消</button>
</td>
</tr>
</tbody>
<tfoot class="data-tfoot">
<tr>
<td colspan="20" style="margin:0px;padding:0px;padding-left:10px;padding-right:10px;">
<div class="my-page">
<div class="my-page" data-nowpage="1" data-maxpage="10" data-pagenum="10" data-nums="99">
<a class="firstPage disabled" data-href="1" href="javascript:void(0);" @click="firstPage">首页</a>
<a class="prevPage disabled" @click="prevPage" data-href="0" href="javascript:void(0);">上一页</a> <span>第<span id="CurrentPage">1</span>页,共<span id="total"></span>页</span>
<a class="nextPage" data-href="2" href="javascript:void(0);" @click="nextPage">下一页</a>
<a class="lastPage" data-href="10" href="javascript:void(0);" @click="lastPage">尾页</a>
<span v-bind:style="{color:colorMessage}">{{warnMessage}}</span>
<div class="pull-right">每页显示
<select id="selectChange" @change="selectChangePage">
<option value="5">5</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="50">50</option>
<option value="100" selected="selected">100</option>
</select>条,共<span id="numRow"></span>条</div>
</div>
</div>
</td>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
var pageSize = ''; //每页显示条数
var num = ''; //总条数
var totalPage = ''; //总页数
var currentPage = ''; //当前页
export default {
name: 'HelloWorld',
data() {
return {
colorMessage: "",
warnMessage: "", //提示信息
display: "none",
list: [],
admin:this.$route.params.admin,
Right:this.$route.params.Right,
IsAllDesk:this.$route.params.IsAllDesk,
}
},
mounted: function() {
this.getData(); //定义方法
},
methods: {
IsShow() { //显示隐藏判断
pageSize = $("#selectChange").val();//每页显示条数
num = this.list.length; //总条数
$("#numRow").text(num);
for(var i = 0; i < num; i++) {
var irow = $("#tbody tr")[i];
if(i < pageSize) {
irow.style.display = "table-row";
} else {
irow.style.display = "none";
}
}
},
getData() {
/*接口请求*/
this.$http.post(../a/b/FindAll', {}, {
header: {},
emulateJSON: true
}).then((res) => {
if(res.body.code == "0") {
this.list = res.body.result;
setTimeout(function() {
this.selectChangePage();
}.bind(this), 2)
} else {
this.warnMessage = "获取失败";
this.colorMessage = "red"
}
}).catch(err => {
this.warnMessage = "访问接口失败";
this.colorMessage = "red"
})
},
close() {
this.display = "none";
},
add() {
$("input")[0].value = '';
$("input")[1].value = '';
$("input")[2].value = '';
document.getElementById("addtr").style.display = "table-row";
$("button").attr("disabled", true);
$("#save").attr("disabled", false);
$("#cancel").attr("disabled", false);
$("#close").attr("disabled", false);
$(".close").attr("disabled", false);
document.getElementById("save").style.display = "inline";
document.getElementById("cancel").style.display = "inline";
},
save() {
if($("input")[0].value == "" || $("input")[1].value == "" || $("input")[2].value == "") {
this.display = "block";
} else {
this.display = "none";
let data = {
"VaccinName": $("input")[0].value, //疫苗简称
"Factory": $("input")[1].value, //生产厂家
"Unit": $("input")[2].value //规格
}
/*接口请求*/
this.$http.post('../a/b/Save', data, {
header: {},
emulateJSON: true
}).then((res) => {
if(res.body.code == "0") {
this.cancel();
this.getData();
}
console.info(res.body.message);
}).catch(err => {
this.warnMessage = "访问接口失败";
this.colorMessage = "red"
})
}
},
cancel() {
$("button").attr("disabled", false);
document.getElementById("save").style.display = "none";
document.getElementById("cancel").style.display = "none";
document.getElementById("addtr").style.display = "none";
},
deleteData(e) { //删除数据
var id = e.target.id; //当前行的id
var es = id.substring(1, id.length);
if(e.target.innerHTML == "删除") {
/*接口请求*/
this.$http.post('../a/b/Remove', {
"IDs": es
}, {
header: {},
emulateJSON: true
}).then((res) => {
this.getData();
}).catch(err => {
this.warnMessage = "访问接口失败";
this.colorMessage = "red"
})
} else { //取消
var selectlist = this.list.filter(function(a) {
return e.ID == es;
})
$("tr#" + es + " td")[1].innerHTML = selectlist[0].VaccinName;
$("tr#" + es + " td")[2].innerHTML = selectlist[0].Factory;
$("tr#" + es + " td")[3].innerHTML = selectlist[0].Unit;
$("tr#" + es + " button")[0].innerHTML = "编辑";
e.target.innerHTML = "删除";
$("button").attr("disabled", false);
}
},
EditData(e) { //编辑数据
var eid = e.target.id; //当前行的id
if(e.target.innerHTML == "编辑") {
var td1 = $("tr#" + eid + " td")[1].innerHTML;
var td2 = $("tr#" + eid + " td")[2].innerHTML;
var td3 = $("tr#" + eid + " td")[3].innerHTML;
$("tr#" + eid + " td")[1].innerHTML = "<input style='width: 60%;outline: none;border-bottom: 1px solid #ddd!important;border: none' required='required' value='" + td1 + "'/>";
$("tr#" + eid + " td")[2].innerHTML = "<input style='width: 60%;outline: none;border-bottom: 1px solid #ddd!important;border: none' required='required' value='" + td2 + "'/>";
$("tr#" + eid + " td")[3].innerHTML = "<input style='width: 60%;outline: none;border-bottom: 1px solid #ddd!important;border: none' required='required' value='" + td3 + "'/>";
e.target.innerHTML = "保存";
$("#b" + eid)[0].innerHTML = "取消";
$("button").attr("disabled", true);
e.target.disabled = false;
$("#b" + eid).attr("disabled", false);
} else { //保存
if($("input")[0].value == "" || $("input")[1].value == "" || $("input")[2].value == "") {
this.warnMessage = "内容不能为空,请重新填写";
this.colorMessage = "red"
} else {
let data = {
"IDs": eid,
"VaccinName": $("input")[0].value, //疫苗简称
"Factory": $("input")[1].value, //生产厂家
"Unit": $("input")[2].value //规格
}
/*接口请求*/
this.$http.post('../a/b/Save', data, {
header: {},
emulateJSON: true
}).then((res) => {
if(res.body.code == "0") {
$("tr#" + eid + " td")[1].innerHTML = $("tr#" + eid + " input")[0].value;
$("tr#" + eid + " td")[2].innerHTML = $("tr#" + eid + " input")[0].value;
$("tr#" + eid + " td")[3].innerHTML = $("tr#" + eid + " input")[0].value;
e.target.innerHTML = "编辑";
$("tr#" + eid + " button")[1].innerHTML = "删除";
this.warnMessage = "编辑成功";
this.colorMessage = "green";
$("button").attr("disabled", false);
}
}).catch(err => {
this.warnMessage = "访问接口失败";
this.colorMessage = "red"
})
}
}
},
selectChangePage() { //每页显示的条数
$("#CurrentPage").text("1");
this.IsShow();
if(num / pageSize > parseInt(num / pageSize)) {
totalPage = parseInt(num / pageSize) + 1;
} else {
totalPage = parseInt(num / pageSize);
}
$("#total").text(totalPage);
},
firstPage() { //首页
$("#CurrentPage").text("1");
currentPage = parseInt($("#CurrentPage").text()); //第几页
this.IsShow();
$(".prevPage").addClass("disabled");
$(".firstPage").addClass("disabled");
$(".nextPage").removeClass("disabled");
$(".lastPage").removeClass("disabled");
},
lastPage() { //尾页
$("#CurrentPage").text(totalPage);
currentPage = parseInt($("#CurrentPage").text()); //第几页
for(var i = 0; i < num; i++) {
var irow = $("#tbody tr")[i];
if(i > parseInt((totalPage - 1) * pageSize - 1)) {
irow.style.display = "table-row";
} else {
irow.style.display = "none";
}
}
$(".prevPage").removeClass("disabled");
$(".firstPage").removeClass("disabled");
$(".nextPage").addClass("disabled");
$(".lastPage").addClass("disabled");
},
nextPage() { //下一页
currentPage = parseInt($("#CurrentPage").text()); //第几页
var startRow = currentPage * pageSize - 1; //开始显示的行
var endRow = (currentPage + 1) * pageSize; //结束显示的行
if(currentPage < totalPage) {
$("#CurrentPage").text(parseInt(currentPage) + 1);
for(var i = 0; i < num; i++) {
var irow = $("#tbody tr")[i];
if(i > startRow && i < endRow) {
irow.style.display = "table-row";
} else {
irow.style.display = "none";
}
}
}
if(currentPage >= 1) {
$(".prevPage").removeClass("disabled");
$(".firstPage").removeClass("disabled");
} else {
$(".prevPage").addClass("disabled");
$(".firstPage").addClass("disabled");
}
if(currentPage >= (parseInt(totalPage) - 1)) {
$(".nextPage").addClass("disabled");
$(".lastPage").addClass("disabled");
} else {
$(".nextPage").removeClass("disabled");
$(".lastPage").removeClass("disabled");
}
},
prevPage() { //上一页
currentPage = parseInt($("#CurrentPage").text()); //第几页
var startRow = (currentPage - 2) * pageSize; //开始显示的行
var endRow = (currentPage - 1) * pageSize - 1; //结束显示的行
if(currentPage <= totalPage && currentPage > 1) {
$("#CurrentPage").text(parseInt(currentPage) - 1);
for(var i = 0; i < num; i++) {
var irow = $("#tbody tr")[i];
if(i >= startRow && i <= endRow) {
irow.style.display = "table-row";
} else {
irow.style.display = "none";
}
}
}
if(currentPage > 2) {
$(".prevPage").removeClass("disabled");
$(".firstPage").removeClass("disabled");
} else {
$(".prevPage").addClass("disabled");
$(".firstPage").addClass("disabled");
}
if(currentPage > totalPage) {
$(".nextPage").addClass("disabled");
$(".lastPage").addClass("disabled");
} else {
$(".nextPage").removeClass("disabled");
$(".lastPage").removeClass("disabled");
}
},
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style lang="scss" scoped>
@import url("../static/public/plugins/bootstrap/css/bootstrap.min.css");
@import url("../static/public/plugins/bootstrap/css/font-awesome.min.css");
@import url("../static/public/plugins/bootstrap/css/font-awesome-animation.min.css");
@import url("../static/public/static/css/main.css");
div.hello {
width: 100%;
height: 100%;
}
table #tbody input {
width: 60%;
outline: none;
border-bottom: 1px solid #ddd!important;
border: none
}
</style>
2.调用后端接口分页:
<!--配置信息上报-->
<template>
<div class="desk">
<!--弹出框-->
<div class="modal-all" v-bind:style="{display:displayDiv}">
<span class="verticalAlign"></span>
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true" @click="closeT">×
</button>
<h4 class="modal-title" id="myModalLabel">
疫情信息
</h4>
</div>
<div class="modal-body">
<table>
<tr>
<td class="text-right">学校:</td>
<td>
<select class="form-control" @change="SchoolChange" id="school">
<option v-for="option in selectSchool" v-bind:value="option.ID">{{option.Name}}</option>
</select>
</td>
<td class="text-right">班级:</td>
<td>
<select class="form-control" id="class">
<option v-for="option in selectOption" v-bind:value="option.ID">{{option.ClassNo}}</option>
</select>
</td>
</tr>
<tr>
<td class="text-right">症状:</td>
<td><input id="Symptom" name="Symptom" class="form-control" required="required"></td>
<td class="text-right">人数:</td>
<td><input id="Count" name="Count" class="form-control" required="required"></td>
</tr>
<tr>
<td class="text-right">报告人:</td>
<td><input id="ReportPerson" name="ReportPerson" class="form-control" required="required"></td>
<td class="text-right">联系电话:</td>
<td><input id="Phone" name="Phone" class="form-control" required="required"></td>
</tr>
<tr>
<td class="text-right">首发病例时间:</td>
<td><input required="required" id="HappenTime" name="HappenTime" class="form-control"></td>
<td class="text-right">备注:</td>
<td><input required="required" id="Remark" name="Remark" class="form-control"></td>
</tr>
</table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" @click="submitNow">立即保存</button>
<button type="button" class="btn btn-default" @click="ResertInfo">重置信息</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!--弹出框结束-->
<div class="table-wrap full-content">
<div class="table-left full-left">
<ul class="left-menu">
<li>
<a href="#">
<router-link :to="{name:'InfectiousManagement',params:{admin:admin,IsAllDesk:IsAllDesk,Right:Right}}">
<i class="fa fa-list"></i>
<dd>传染病管理</dd>
</router-link>
</a>
</li>
<li class="active">
<a href="#">
<router-link :to="{name:'OutbreakReport',params:{admin:admin,IsAllDesk:IsAllDesk,Right:Right}}">
<i class="fa fa-list"></i>
<dd>学校疫情上报</dd>
</router-link>
</a>
</li>
</ul>
</div>
<div class="table-right full-right">
<div class="posi-wrap">
<ul class="posi-ul">
<li>
<a href=""><i class="fa fa-database"></i>疾病风险管理</a>
</li>
<li><span>></span>学校疫情上报</li>
</ul>
</div>
<div class="main-wrap-fff">
<div class="container-fluid form-wrap dataOne">
<div class="row ser-block">
<div class="col-xs-3">
<div class="key-wrap keyser">
<div class="ser-wrap">
<button class="data-ser" @click="Add">新增</button>
</div>
<div class="ser-wrap" style="margin-left: 13px;">
<button class="data-ser" @click="Appear">上报</button>
</div>
<div class="ser-wrap" style="margin-left: 13px;">
<button class="data-ser" style="width: 90px;" @click="deleteData">批量删除</button>
</div>
</div>
</div>
<div class="col-xs-9 text-right">
<div class="key-wrap keyser" style="width:700px;">
<div class="input-wrap widthLable">
学校:
</div>
<div class="input-wrap widthSelect">
<select class="form-control" @change="SchoolChange" id="school">
<option value="">请选择</option>
<option v-for="option in selectSchool" v-bind:value="option.ID">{{option.Name}}</option>
</select>
</div>
<div class="input-wrap widthLable">
班级:
</div>
<div class="input-wrap widthSelect">
<div class="btn-group bootstrap-select show-tick" v-bind:class="{'open':open,'unopen':!open}">
<button type="button" class="btn dropdown-toggle bs-placeholder" id="buttonSelect" title="" @click="clicked">
<span class="filter-option pull-left"></span> <span class="bs-caret"><span class="caret"></span></span></button>
<div class="dropdown-menu open" role="combobox" style="max-height: 924px; overflow: hidden; min-height: 130px;">
<ul class="dropdown-menu inner" role="listbox" aria-expanded="false" style="max-height: 874px; overflow-y: auto; min-height: 80px;">
<li data-original-index="0" v-for="(item,index) in selectOption" data-id="item.ID" @mousedown="selectStyle(item,index)" v-bind:class="{'selected':item.selected,'unselected':!item.selected}">
<a tabindex="index" class="" data-tokens="null" role="option" aria-disabled="false" aria-selected="false">
<span class="text">{{item.ClassNo}}</span><span class="glyphicon glyphicon-ok check-mark"></span></a>
</li>
</ul>
<div class="bs-donebutton">
<div class="btn-group btn-block"><button type="button" class="btn btn-sm" @click="clicked">关闭</button></div>
</div>
</div>
</div>
</div>
<div class="ser-wrap btnWidth" style="margin-right: 13px;">
<button class="data-ser" @click="selectData">查询</button>
</div>
</div>
</div>
</div>
<br />
<div class="row">
<div class="col-xs-12">
<div class="table-responsive">
<table class="table data-table">
<thead>
<tr class="data-order" data-order="id" data-sort="1">
<th class="order" data-order="">
<div class="drop-wrap">
<span><input type="checkbox" v-bind:checked="checked" @click="CheckedAll"></span> <ins></ins>
</div>
</th>
<th class="order" data-order="a">
<div class="drop-wrap">
<span>序号</span> <ins></ins>
</div>
</th>
<th class="order" data-order="b">
<div class="drop-wrap">
<span>学校</span> <ins></ins>
</div>
</th>
<th class="order" data-order="c">
<div class="drop-wrap">
<span>班级</span> <ins></ins>
</div>
</th>
<th class="order" data-order="d">
<div class="drop-wrap">
<span>症状</span> <ins></ins>
</div>
</th>
<th class="order" data-order="e">
<div class="drop-wrap">
<span>人数</span> <ins></ins>
</div>
</th>
<th class="order" data-order="f">
<div class="drop-wrap">
<span>报告人</span> <ins></ins>
</div>
</th>
<th class="order" data-order="g">
<div class="drop-wrap">
<span>联系</span> <ins></ins>
</div>
</th>
<th class="order" data-order="h">
<div class="drop-wrap">
<span>首发病例时间</span> <ins></ins>
</div>
</th>
<th class="order" data-order="i">
<div class="drop-wrap">
<span>备注</span> <ins></ins>
</div>
</th>
<th class="order" data-order="j">
<div class="drop-wrap">
<span>状态</span> <ins></ins>
</div>
</th>
<th class="order" data-order="h">
<div class="drop-wrap">
<span>操作</span> <ins></ins>
</div>
</th>
</tr>
</thead>
<tbody class="data-tbody" id="tbody">
<tr v-for="(item,index) in list" v-bind:id="item.ID">
<td><input type="checkbox" v-bind:checked="checked" name="checked" v-bind:id="item.ID"></td>
<td>{{item.ID}}</td>
<td>{{item.SchoolID}}</td>
<td>{{item.ClassID}}</td>
<td>{{item.Symptom}}</td>
<td>{{item.Count}}</td>
<td>{{item.ReportPerson}}</td>
<td>{{item.Phone}}</td>
<td>{{item.HappenTime}}</td>
<td>{{item.Remark}}</td>
<td>{{(item.Status=="0")? "未上报" : "已上报"}}</td>
<td><button class="btn-table btn-warning" v-bind:id="item.ID" @click="EditInfo">编辑</button></td>
</tr>
</tbody>
<tfoot class="data-tfoot">
<tr>
<td colspan="20" style="margin:0px;padding:0px;padding-left:10px;padding-right:10px;">
<div class="my-page">
<div class="my-page" data-nowpage="1" data-maxpage="10" data-pagenum="10" data-nums="99">
<a class="firstPage disabled" data-href="1" href="javascript:void(0);" @click="firstPage">首页</a>
<a class="prevPage disabled" @click="prevPage" data-href="0" href="javascript:void(0);">上一页</a> <span>第<span id="CurrentPage">1</span>页,共<span id="total"></span>页</span>
<a class="nextPage" data-href="2" href="javascript:void(0);" @click="nextPage">下一页</a>
<a class="lastPage" data-href="10" href="javascript:void(0);" @click="lastPage">尾页</a>
<span v-bind:style="{color:colorMessage}">{{warnMessage}}</span>
<div class="pull-right">每页显示
<select id="selectChange" @change="selectChangePage">
<option value="5">5</option>
<option value="10" selected="selected">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="50">50</option>
<option value="50">100</option>
</select>条,共<span id="numRow"></span>条</div>
</div>
</div>
</td>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import Vue from 'vue'
var pageSize = ''; //每页显示条数
var num = ''; //总条数
var totalPage = ''; //总页数
var currentPage = ''; //当前页
export default {
name: 'HelloWorld',
data() {
return {
open: false,
selected: false,
shoolDisplay: "",
selectSchool: [], //学校下拉框
selectOption: [], //班级下拉框数据
checked:false,
colorMessage: "",
warnMessage: "", //提示信息
displayDiv: "none",
admin:this.$route.params.admin,
Right:this.$route.params.Right,
IsAllDesk:this.$route.params.IsAllDesk,
Aid: "",
editData: [], //编辑行的数据
list: []
}
},
created: function(){
if(this.IsAllDesk == false || this.IsAllDesk == "false") {
this.slectList();
this.shoolDisplay = "none";
} else {
this.shoolDisplay = "inline-block";
this.slectSchool();
}
},
mounted: function() {
this.getData(); //定义方法
laydate.render({
elem: '#HappenTime' //指定元素
});
},
methods: {
slectList() {
/*接口请求班级*/
this.$http.post('../a/b/FindAllClass', {}, {
header: {},
emulateJSON: true
}).then((res) => {
if(res.body.code == "0") {
this.selectOption = res.body.result;
} else {
this.warnMessage = "获取班级失败";
this.colorMessage = "red"
}
}).catch(err => {
this.warnMessage = "访问接口失败";
this.colorMessage = "red"
})
},
slectSchool() {
/*接口请求班级*/
this.$http.post('../a/b/FindAll', {}, {
header: {},
emulateJSON: true
}).then((res) => {
if(res.body.code == "0") {
this.selectSchool = res.body.result;
setTimeout(function() {
this.SchoolChange();
}.bind(this), 5)
} else {
this.warnMessage = "获取学校失败";
this.colorMessage = "red"
}
}).catch(err => {
this.warnMessage = "访问接口失败";
this.colorMessage = "red"
})
},
SchoolChange() { //根据学校查询班级
var schoolId=$("select#school").val();
/*接口请求班级*/
this.$http.post('../a/b/FindAllClass', {
"SchoolID":schoolId
}, {
header: {},
emulateJSON: true
}).then((res) => {
//console.info(res);
if(res.body.code == "0") {
if(res.body.result.length==0){
this.selectOption = [];
}else{
this.selectOption = res.body.result;
}
$(".pull-left").text("");
//console.info(this.selectOption);
} else {
this.warnMessage = "获取班级失败";
this.colorMessage = "red"
}
}).catch(err => {
this.warnMessage = "访问接口失败";
this.colorMessage = "red"
})
},
clicked() {
this.open = !this.open;
},
selectStyle(item, index) {
this.$nextTick(function() {
if(item.selected == true) {
Vue.set(item, 'selected', false);
} else {
Vue.set(item, 'selected', true);
}
});
setTimeout(function() {
var li = [];
$("li[class='selected']").each(function() {
li.push($(this).text()); //向数组中添加元素
});
var classs = li.join(',');
$(".pull-left").text(classs);
document.getElementById("buttonSelect").title = classs;
},50)
},
getData() {
let data = {
"SchoolName": $("#school").val(), //学校名称
"currentPage": $("#CurrentPage").text(), //当前页数
"pageSize": $("#selectChange").val(), //每页显示条数
}
/*接口请求*/
this.$http.post('../a/b/RetrieveInfo', data, {
header: {},
emulateJSON: true
}).then((res) => {
if(res.body.code == "0") {
if(res.body.count==0){
this.list = [];
}
this.list = res.body.result;
$("#numRow").text(res.body.count);
num = $("#numRow").text();
pageSize = $("#selectChange").val();
if(num / pageSize > parseInt(num / pageSize)) {
totalPage = parseInt(num / pageSize) + 1;
} else {
totalPage = parseInt(num / pageSize);
}
$("#total").text(totalPage);
this.warnMessage = "操作成功";
this.colorMessage = "green"
} else {
this.warnMessage = "获取数据失败";
this.colorMessage = "red"
}
}).catch(err => {
this.warnMessage = "访问接口失败";
this.colorMessage = "red"
})
},
CheckedAll() {
this.checked = !this.checked //选中切换
},
selectData() { //查询数据
$("#CurrentPage").text("1");
this.getData(); //定义方法
},
Add(){//新增
this.displayDiv = "block";
this.ResertInfo();
this.Aid = "";
},
Appear(){//上报
var $checkbox = $('#tbody input[type="checkbox"][name="checked"]');
var $checked = $('#tbody input[type="checkbox"][name="checked"]:checked');
if($checkbox.is(":checked")) {
if(confirm('是否上报选中的信息?')) { //确认
var idArray = [];
$("input:checkbox[name='checked']:checked").each(function() {
idArray.push($(this).attr("id")); //向数组中添加元素
});
var idstring = idArray.join(','); //将数组元素连接起来以构建一个字符串
/*接口请求*/
this.$http.post('../a/b/SubmitInfo', {
"ID": idstring
}, {
header: {},
emulateJSON: true
}).then((res) => {
this.getData();
}).catch(err => {
this.warnMessage = "访问接口失败";
this.colorMessage = "red"
})
}
} else {
this.warnMessage = "请选择要上报的信息";
this.colorMessage = "red"
}
},
deleteData() { //删除数据
var $checkbox = $('#tbody input[type="checkbox"][name="checked"]');
var $checked = $('#tbody input[type="checkbox"][name="checked"]:checked');
if($checkbox.is(":checked")) {
if(confirm('确定删除选中的信息?')) { //确认
var idArray = [];
$("input:checkbox[name='checked']:checked").each(function() {
idArray.push($(this).attr("id")); //向数组中添加元素
});
var idstring = idArray.join(','); //将数组元素连接起来以构建一个字符串
/*接口请求*/
this.$http.post('../a/b/RemoveDesk', {
"IDs": idstring
}, {
header: {},
emulateJSON: true
}).then((res) => {
this.getData();
}).catch(err => {
this.warnMessage = "访问接口失败";
this.colorMessage = "red"
})
}
} else {
this.warnMessage = "请选择要删除的信息";
this.colorMessage = "red"
}
},
submitNow() {
var school=$("#school").val(); //学校
var classs=$("#class").val(); //班级
var Symptom=$("#Symptom").val(); //症状
var Count=$("#Count").val(); //人数
var ReportPerson=$("#ReportPerson").val(); //报告人
var Phone=$("#Phone").val(); //联系电话
var HappenTime=$("#HappenTime").val(); //首发病例时间
var Remark=$("#Remark").val(); //备注
let AppearData = {
"ID":this.Aid,
"SchoolID": school,
"ClassID": classs,
"Symptom": Symptom,
"Count": Count,
"ReportPerson": ReportPerson,
"Phone": Phone,
"HappenTime": HappenTime,
"Remark": Remark,
};
if(school != "" && Symptom != "" && Count != ""&&HappenTime!="") {
/*接口请求*/
this.$http.post('../a/bEditInfo', AppearData, {
header: {},
emulateJSON: true
}).then((res) => {
//console.info(res);
if(res.body.code == "0") {
this.getData();
} else {
this.warnMessage = "获取数据失败";
this.colorMessage = "red"
}
}).catch(err => {
this.warnMessage = "访问接口失败";
this.colorMessage = "red"
})
this.displayDiv = "none";
} else {
this.warnMessage = "学校,症状,人数,首发病例时间不能为空";
this.colorMessage = "red"
}
},
EditInfo(e) {
this.ResertInfo();
this.displayDiv = "block";
this.Aid = e.target.id; //当前行的id
var ida = this.Aid;
this.editData = this.list.filter(function(e) {
return e.ID == ida;
});
$("#school").val(this.editData[0].SchoolID); //学校
$("#class").val(this.editData[0].ClassID); //班级
$("#Symptom").val(this.editData[0].Symptom); //症状
$("#Count").val(this.editData[0].Count); //人数
$("#ReportPerson").val(this.editData[0].ReportPerson); //报告人
$("#Phone").val(this.editData[0].Phone); //联系电话
$("#HappenTime").val(this.editData[0].HappenTime.substring(0,this.editData[0].HappenTime.indexOf("T"))); //首发病例时间
$("#Remark").val(this.editData[0].Remark); //备注
},
selectChangePage() { //每页显示的条数
$("#CurrentPage").text("1");
this.getData(); //定义方法
},
firstPage() { //首页
$("#CurrentPage").text("1");
this.getData(); //定义方法
$(".prevPage").addClass("disabled");
$(".firstPage").addClass("disabled");
$(".nextPage").removeClass("disabled");
$(".lastPage").removeClass("disabled");
},
lastPage() { //尾页
$("#CurrentPage").text(totalPage);
this.getData(); //定义方法
$(".prevPage").removeClass("disabled");
$(".firstPage").removeClass("disabled");
$(".nextPage").addClass("disabled");
$(".lastPage").addClass("disabled");
},
nextPage() { //下一页
if(parseInt($("#CurrentPage").text()) < totalPage) {
currentPage = parseInt($("#CurrentPage").text()) + 1; //第几页
if(1 < currentPage < totalPage) {
$(".prevPage").removeClass("disabled");
$(".firstPage").removeClass("disabled");
} else {
$(".prevPage").addClass("disabled");
$(".firstPage").addClass("disabled");
}
if(currentPage == totalPage) {
$(".nextPage").addClass("disabled");
$(".lastPage").addClass("disabled");
} else {
$(".nextPage").removeClass("disabled");
$(".lastPage").removeClass("disabled");
}
$("#CurrentPage").text(currentPage);
this.getData(); //定义方法
}
},
prevPage() { //上一页
if(parseInt($("#CurrentPage").text()) > 1) {
currentPage = parseInt($("#CurrentPage").text()) - 1; //第几页
if(currentPage > 1) {
$(".prevPage").removeClass("disabled");
$(".firstPage").removeClass("disabled");
} else {
$(".prevPage").addClass("disabled");
$(".firstPage").addClass("disabled");
}
if(currentPage > totalPage) {
$(".nextPage").addClass("disabled");
$(".lastPage").addClass("disabled");
} else {
$(".nextPage").removeClass("disabled");
$(".lastPage").removeClass("disabled");
}
$("#CurrentPage").text(currentPage);
this.getData(); //定义方法
}
},
deleteData() { //删除数据
var $checkbox = $('#tbody input[type="checkbox"][name="checked"]');
var $checked = $('#tbody input[type="checkbox"][name="checked"]:checked');
if($checkbox.is(":checked")) {
if(confirm('确定删除选中的信息?')) { //确认
var idArray = [];
$("input:checkbox[name='checked']:checked").each(function() {
idArray.push($(this).attr("id")); //向数组中添加元素
});
var idstring = idArray.join(','); //将数组元素连接起来以构建一个字符串
/*接口请求*/
this.$http.post('../a/b/ClearInfo', {
"ID": idstring
}, {
header: {},
emulateJSON: true
}).then((res) => {
//console.info(res);
this.getData();
}).catch(err => {
this.warnMessage = "访问接口失败";
this.colorMessage = "red"
})
}
} else {
this.warnMessage = "请选择要删除的信息";
this.colorMessage = "red"
}
},
closeT() {
this.displayDiv = "none";
},
ResertInfo() { //重置信息
$("#school").val(this.selectSchool[0].ID);//学校
$("#class").val(this.selectOption[0].ID);//班级
$("#Symptom").val(""); //症状
$("#Count").val(""); //人数
$("#ReportPerson").val(""); //报告人
$("#Phone").val(""); //联系电话
$("#HappenTime").val(""); //首发病例时间
$("#Remark").val(""); //备注
}
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
@import url("../static/public/plugins/bootstrap/css/bootstrap.min.css");
@import url("../static/public/plugins/bootstrap/css/font-awesome.min.css");
@import url("../static/public/plugins/bootstrap/css/font-awesome-animation.min.css");
@import url("../static/public/static/css/main.css");
.desk {
width: 100%;
height: 100%;
}
.input-wrap {
width: 35%;
/*margin-right: 12px;*/
}
html {
background: none;
}
</style>