/**
* 网上留言js
*
* @author wangshibo
* @date 2018/11/29
*/
// 数据请求回调方法
function onlineMsgCallback(res) {
res = JSON.parse(res);
let data = res.data.pageSet,
length = data.length,
createTime,
ulObj = $('.cardbox .list-block ul'),
tycInfo = res.data.tycInfo;
for (let i = 0; i < length; i++) {
createTime = data[i].fbsj;
if (createTime) {
createTime = createTime.substring(0, createTime.lastIndexOf('-') + 3);
}
var title = commonUtils.markedRed(data[i].title,(tycInfo&&tycInfo.length>0) ? tycInfo : online_msg.searchContent);
if (data[i].unitname.indexOf('黑龙江') >= 0 || data[i].unitname.indexOf('内蒙古') >= 0) {
data[i].unitname = data[i].unitname.substr(0, 3);
} else {
data[i].unitname = data[i].unitname.substr(0, 2);
}
ulObj.append(
"
" +
`` +
"" +
"
" + title + "
" +
"
" +
"
" + data[i].unitname + "
" +
`
${createTime}
` +
"
" +
"");
}
}
// 获取用户id
function loadToMsgForm() {
var userid = "";
request({
type: "get",
url: "zbhz/getUserid",
async: false
}, function (response) {
results = JSON.parse(response);
userid = results.data;
if (results.code == 1) {
window.location.href = './../../pages/onlinemsg/msgform.html';
}
});
}
let online_msg = {
// 下拉刷新实体
pushObj: undefined,
// 初始地域信息
areacode: '111000000',
//检索内容
searchContent : ''
};
// 网上留言方法类
class OnlineMsg {
// 列表过滤条件
static sortList(obj) {
if(obj){
if($(obj).find('.mc_u').length > 0){
$(obj).find('.mc_u').removeClass('mc_u').addClass('mc_d');
} else {
$(obj).find('.mc_d').removeClass('mc_d').addClass('mc_u');
}
}
this.reRefresh();
}
// 刷新页面
static reRefresh() {
let release = $('.morechoose .sort-btn');
online_msg.searchContent = $('#search').val();
online_msg.pushObj._reinit({
reqparms: {
nr: Base64.encode($('#search').val()),
sort: release[0].dataset.sort,
sortid: release.find('.mc_d').length > 0 ? "0":"1",
zxjg: online_msg.areacode
}
});
}
// 文本搜索功能
static searchInput() {
let inputText = $('#search').val();
// if (!inputText) {
// return;
// }
this.reRefresh();
}
// 文本框清空功能
static clearInput() {
$('#search').val('');
this.reRefresh();
}
}
// 网上留言列表初始化
$(document).on('pageInit', '#online-msg', function () {
// 回退绑定
$(".go2back").on("click", function (e) {
let rooter = new FormPage().queryString('rooter');
if (rooter === 'ios') {
// backToMain();
window.webkit.messageHandlers.backToMain.postMessage({});
} else if (rooter === 'android') {
if (needRealName()) {
window.android.backToMain2();
} else {
window.android.backToMain();
}
} else {
$.router.back();
// window.location.href = '../consultation.html';
}
});
// 列表排序功能
$('.morechoose .sort-btn').on('click', function () {
OnlineMsg.sortList(this);
});
// 文本搜索功能绑定
let searchbar = $('.searchbar');
searchbar.on('click', '.iclose', function () {
OnlineMsg.clearInput();
emptyMind();
});
searchbar.on('click', '.searchbar-cancel', function () {
OnlineMsg.searchInput();
});
// 地区定位,并获取当前地域数据
if (!online_msg.pushObj) {
BMapTools.areaLocation(null, function (localAddress = '北京') {
$('#online-msg .barright_icon').html(`${localAddress}`);
// 获取地域对应的行政区划编码
let area_code = ProvincesJsonTools.getProvinceId(localAddress) || online_msg.areacode;
online_msg.areacode = area_code;
online_msg.searchContent = '';
$("#search").val(online_msg.searchContent);
// 加载列表
let release = $('.morechoose .sort-btn');
online_msg.pushObj = getPullRefresh({
loadUrl: personal_util.urls.onlineMsgList,//异步请求地址
reqparms: {
nr: Base64.encode($('#search').val()),
sort: release[0].dataset.sort,
sortid: release.find('.mc_d').length > 0 ? "0":"1",
zxjg: area_code
},//请求参数-业务请求参数
callback: "onlineMsgCallback",//数据请求回调方法
pullcallback: function pullstart() {
online_msg.pushObj._pullStart();//刷新内容更新/*必须使用刷新对象调用*/
},//无线加载刷新触发的方法
downcallback: function downback() {
online_msg.pushObj._downinit();//下拉刷新回调方法/*必须使用刷新对象调用*/
},
itemsContext: '.cardbox .list-block ul',//数据加载对象
listCount: 8//每次请求数量
});
//无限加载对象初始化
online_msg.pushObj._init();
});
} else {
$("#search").val(online_msg.searchContent);
}
$("#search").on('keypress', function (e) {
var keycode = e.keyCode;
var searchName = $(this).val();
//keycode是键码,13也是电脑物理键盘的 enter
if (keycode == '13') {
e.preventDefault();
closeMind();
OnlineMsg.reRefresh();//刷新列表
}
});
//搜索输入框输入事件
$('#search').on('input', function () {
showMind($(this).val());
});
//搜索框失去焦点
$('#search').on("blur", function(){
setTimeout(function() {
$('.searchlaw').hide();
}, 100);
});
//搜索框获得焦点
$('#search').on('focus', function(){
var searchValue = $('#search').val();
if(searchValue && $('.searchlaw ul li').length >=1){
$('.searchlaw').show();
} else if(searchValue){
showMind(searchValue);
}
});
});
//地域选择popup打开时事件
$(document).on('open', '#area-selector', function () {
// 当前定位地域点击事件
$('#choose_city_a').on('click', function () {
chooseArea(this);
});
// 加载行政区划列表
new AreaBox("#choose_city_location", "choose_city_a", "#area-selector .area-list", "chooseArea").init();
});
// 地域选择popup关闭时回调事件
$(document).on('closed', '#area-selector', function () {
OnlineMsg.reRefresh();
});
function chooseArea(obj) {
obj = $(obj);
// 当前选择区域名称改变
//$("#area-selector .area-current").html(obj.html());
// 存储当前选择区域行政区划编码
area_code = obj.attr("city");
online_msg.areacode = area_code;
// 修改当前定位区域
let areaName = obj.find('span').text();
$('#online-msg .barright_icon').html(`${areaName}`);
// 关闭popup
$.closeModal('.popup-area');
}
//显示联想查询
function showMind(searchContent){
if(!searchContent || searchContent.replace(/\s/," ").length == 0) {
emptyMind();
return false;
}
request({
type: 'post',
url: personal_util.urls.onlineMsgList,
data : {
nr: Base64.encode($('#search').val()),
sort: "0",
sortid: $('.sort-btn.cur').find('.mc_d').length > 0 ? "0":"1",
zxjg: online_msg.areacode,
pageIndex:"1",
listCount:"5",
}
}, function(response) {
var resulst = JSON.parse(response);
var list = resulst.data.pageSet;
if(list && list.length > 0){
var html = '';
for(var i=0;i'
+ ''
+ '' + list[i].title + '
'
+ '';
}
if(html){
$('.searchlaw ul').empty().append(html);
$('.searchlaw').show();
} else {
$('.searchlaw').hide();
}
}
})
}
//关闭联想框
function closeMind (){
$('.searchlaw').hide();
}
//清空联想框
function emptyMind (){
$('.searchlaw ul').empty();
$('.searchlaw').hide();
}
//点击联想查询内容
function chooseSearch(searchContent){
$('#search').val(searchContent);
OnlineMsg.reRefresh();//刷新列表
emptyMind();
}