mui.plusReady(function() {
var page = 1,
pagesize = 10;
var self = plus.webview.currentWebview();
var teamCode = self.teamCode;
var $searchbarInput = $('#searchPut'),
$searchSuggest = $('#search_suggest_text'),// 搜索框下面悬浮的搜索提示
search_keyword = "",//记录搜索框的内容
$noResultWrap = $('#no_result_wrap'),
$searchResult = $('#search_result');
mui.init({
pullRefresh : {
container:'.mui-scroll-wrapper',
up : {
height:50,
contentdown:"",
contentrefresh : "正在加载...",
contentnomore:'没有更多数据了',
callback: function() {
var self = this;
page++;
queryListData(function(value){
setTimeout(function(){
self.endPullupToRefresh(value);
},500)
},'up')
}
}
}
})
//监视输入
$searchbarInput.on('input', function() {
var text = $(this).val().trim();
$searchResult.hide();
$noResultWrap.hide();
showSearchSuggest(text);
}).on('keydown',function(e) {
if (e.which === 13) {
searchByPaging()
}
})
//查询
function searchByPaging(){
$searchbarInput.blur();
search_keyword = $searchbarInput.val();
if(!$.trim(search_keyword)) {
return ;
}
page = 1;
$('#dest_list').empty();
mui('.mui-scroll-wrapper').pullRefresh().refresh(true);
plus.nativeUI.showWaiting();
queryListData();
$searchSuggest.hide();
$noResultWrap.hide();
}
$searchSuggest.on('click',function() {
searchByPaging()
})
// 控制搜索关键字悬浮提示的显示
function showSearchSuggest(text) {
var suggestText = '搜索“'+text+'”';
// 如果text不为空,则显示;否则隐藏
if(text&&text.trim().length) {
$searchSuggest.text(suggestText);
$searchSuggest.show();
} else {
$searchSuggest.text('');
$searchSuggest.hide();
}
}
//关键字变色
function ellipsisText($elements, searchText) {
_.each($elements,function(el) {
var $textEl = $(el).find(".j-text-ellipsis");
_.each($textEl, function(t){
highlineKeyword($(t),searchText)
})
})
}
function highlineKeyword($el,searchText) {
var props = getRowProps($el),
chartWidth = props.chartWidth,
rowHeight = props.rowHeight,
rowWidth = props.rowWidth,
// 每行显示字符数(以中文字符为标准计算)
chartNum = Math.floor(rowWidth / chartWidth.zh),
// 排除指定数量字符所占宽度
exceptNum = 0,
// 行数
rowNum = 1,
// 预计显示总字符数
expectedNum = chartNum * rowNum - exceptNum,
$target = $el,
// 目标文本
text = $.trim($target.attr('data-text')),
length = text.length,
// 关键字数组
kws = $.trim(searchText).replace(/\s+/g," ").split(" ");
var fidx = 0,preFidx,diff = 0;
$target.html(replaceAll(text, kws));
if(Math.floor($target.height() / rowHeight) <= rowNum) {
return ;
}
}
function getRowProps($el) {
var $textEllipsis = $el,
$text = $textEllipsis.eq(0),
$chart = $text.text('a'),
enWidth = $chart.width(),
$chart = $text.text('中'),
zhWidth = $chart.width(),
lineHeight = parseFloat($chart.css("lineHeight"), 10),
rowHeight = $chart.height();
$chart.text('');
return {
chartWidth: {
zh: zhWidth,
en: enWidth
},
rowHeight: Math.max(rowHeight, lineHeight),
rowWidth: $el.width()
};
}
function replaceAll(text, arr) {
var html = text;
_.each(arr,function(kw) {
var reg = new RegExp(kw+"(?!>)","gi");
html = html.replace(reg,''+kw+'');
});
return html;
}
//取消
$('.searchbar-cancel').on('click',function() {
mui.back();
})
template.helper('setSex',function(item){
if(item == 1){
return '男'
}else{
return '女'
}
})
template.helper('setRestTime',function(minDate,sDate){
var now = getNowDate();
var createDate = sDate.split(' ');
var diff = getDays(createDate[0],now);
if(diff'+(minDate-diff)+''
}else{
return '已用完'
}
})
//相隔几天
function getDays(sDate,eDate){
var oDate1;
var oDate2;
var iDays;
oDate1= sDate.split("-");
oDate2= eDate.split("-");
var strDateS = new Date(oDate1[0], oDate1[1]-1, oDate1[2]);
var strDateE = new Date(oDate2[0], oDate2[1]-1, oDate2[2]);
iDays = parseInt(Math.abs(strDateE - strDateS ) / 1000 / 60 / 60 /24)
return iDays ;
}
//现在时间
function getNowDate() {
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
return year + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day);
}
//点击跳转
$searchResult.on('tap','.j-li',function(){
mui.openWindow({
id: "xufangxiangqing",
url: "xufangxiangqing.html",
extras: {
teamCode:teamCode,
infoStr:$(this).attr('data-json')
}
})
})
function queryListData(fun){
var params ={
teamCode:teamCode,
page:page,
size:pagesize,
nameKeyword:search_keyword
}
sendPost("/doctor/prescriptionInfo/getDoctorPrescription",params, function(){
plus.nativeUI.closeWaiting();
fun&&fun.call(this,false)
mui.toast("获取数据失败!");
}, function(res){
plus.nativeUI.closeWaiting();
if(res.status == 200){
var html = template('li_tmpl',{list:_.map(res.data,function(o){
o.jsonStr = JSON.stringify(o);
return o;})
})
if(page == 1 && res.data.length==0){
$noResultWrap.show();
$searchResult.hide();
}else{
$noResultWrap.hide();
$searchResult.show();
if(res.data.length < pagesize){
fun&&fun.call(this,true)
}else{
fun&&fun.call(this,false)
}
$('#dest_list').append(html);
ellipsisText($searchResult.find('.j-li'),search_keyword)//变色
}
}else{
fun&&fun.call(this,false)
mui.toast("获取数据失败!");
}
},'get')
}
})
template.helper("setPhoto", function(p) {
return getImgUrl(p);
});