qlg.frontend/js/appraise.js
2019-09-06 10:45:33 +08:00

320 lines
9.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var isjiazai = 1;
var type = '';
var page = 1
mui.plusReady(function() {
var self = plus.webview.currentWebview();
var data_id = self.goodsId;
// //console.log(data_id)
function getData(page, pagesize, type) {
var set_data = {
goodsId: data_id,
type: type ? type : '',
page: page ? page : 1,
pagesize: pagesize ? pagesize : 10
}
if (isjiazai == 1) {
isjiazai = 0
} else {
return;
}
mui.ajax(qlgUrl('app/goodsappraises/getById'), {
data: set_data,
dataType: 'json', //服务器返回json格式数据
type: 'post', //HTTP请求类型
timeout: 10000, //超时时间设置为10秒
success: function(data) { //服务器返回响应,根据响应结果,分析是否登录成功;
var data = toJson(data);
var html = '';
if (data.status == 1) {
data = data.data;
$('#sum').html('全部(' + data.sum + ')');
$('#pic').html('有图(' + data.picNum + ')');
$('#bad').html('差评(' + data.badNum + ')');
$('#good').html('中评(' + data.goodNum + ')');
$('#best').html('好评(' + data.bestNum + ')');
if (data.Rows == '') {
if (page == 1) {
$('.pj_list').html('<p style="float: left;width: 100%;text-align: center;padding-bottom: 9px;">没有更多评价</p>');
} else {
$('.pj_list').append(
'<p style="float: left;width: 100%;text-align: center;padding-bottom: 9px;">没有更多评价</p>');
}
isjiazai = 0;
return;
}
$.each(data.Rows, function() {
var userImg = '';
if (this.userPhoto) {
userImg = hyhImgUrl(this.userPhoto);
} else {
userImg = '../img/mujiimg.png'
}
html += '<div class="pj_breviary"><div class="pjbtitle clearfix"><img src="' + userImg + '" /><p>' + this.loginName +
'</p></div><div class="pjbcon">' + this.content + '</div>';
if (this.shopReply != null) {
html += '<div class="zjpj"><div class="sanjiao"></div><div class="pjzhuijia">商家回复:' + this.shopReply +
'</div></div>';
}
html += '<div class="pjclass">' + this.goodsSpecNames + '</div><div class="pjclass">' + this.createTime +
'</div>';
if (this.images != '' && this.images != null) {
html += '<div class="gallety"><div class="my-gallery clearfix" data-pswp-uid="">';
var imgArr = this.images.split(',');
$.each(imgArr, function() {
html += '<figure><div class="img-dv"><a href="' + hyhImgUrl(this) +
'/thumb512" data-size="1920x1080"><img src="' + hyhImgUrl(this) + '/thumb78"></a></div></figure>';
// //console.log(hyhImgUrl(this))
});
html += '</div></div>';
}
html += '</div>';
});
if (page == 1) {
$('.pj_list').html(html);
} else {
$('.pj_list').append(html);
}
isjiazai = 1;
setTimeout(function() {
$('.img-dv a').each(function() {
var that = $(this);
var img_ = new Image()
img_.src = that.attr('href');
img_.onload = function() {
that.attr('data-size', img_.width + 'x' + img_.height);
}
});
document.addEventListener('DOMAttrModified', function() {
$('.img-dv a').each(function() {
var that = $(this);
var img_ = new Image()
img_.src = that.attr('href');
img_.onload = function() {
that.attr('data-size', img_.width + 'x' + img_.height);
}
});
}, false);
var initPhotoSwipeFromDOM = function(gallerySelector) {
// 解析来自DOM元素幻灯片数据URL标题大小...
var parseThumbnailElements = function(el) {
var thumbElements = el.childNodes,
numNodes = thumbElements.length,
items = [],
figureEl,
linkEl,
size,
item,
divEl;
for (var i = 0; i < numNodes; i++) {
figureEl = thumbElements[i]; // <figure> element
// 仅包括元素节点
if (figureEl.nodeType !== 1) {
continue;
}
divEl = figureEl.children[0];
linkEl = divEl.children[0]; // <a> element
size = linkEl.getAttribute('data-size').split('x');
// 创建幻灯片对象
item = {
src: linkEl.getAttribute('href'),
w: parseInt(size[0], 10),
h: parseInt(size[1], 10)
// w: '100%'
};
if (figureEl.children.length > 1) {
item.title = figureEl.children[1].innerHTML;
}
if (linkEl.children.length > 0) {
// <img> 缩略图节点, 检索缩略图网址
item.msrc = linkEl.children[0].getAttribute('src');
}
item.el = figureEl; // 保存链接元素 for getThumbBoundsFn
items.push(item);
}
return items;
};
// 查找最近的父节点
var closest = function closest(el, fn) {
return el && (fn(el) ? el : closest(el.parentNode, fn));
};
// 当用户点击缩略图触发
var onThumbnailsClick = function(e) {
e = e || window.event;
e.preventDefault ? e.preventDefault() : e.returnValue = false;
var eTarget = e.target || e.srcElement;
var clickedListItem = closest(eTarget, function(el) {
return (el.tagName && el.tagName.toUpperCase() === 'FIGURE');
});
if (!clickedListItem) {
return;
}
var clickedGallery = clickedListItem.parentNode,
childNodes = clickedListItem.parentNode.childNodes,
numChildNodes = childNodes.length,
nodeIndex = 0,
index;
for (var i = 0; i < numChildNodes; i++) {
if (childNodes[i].nodeType !== 1) {
continue;
}
if (childNodes[i] === clickedListItem) {
index = nodeIndex;
break;
}
nodeIndex++;
}
if (index >= 0) {
openPhotoSwipe(index, clickedGallery);
}
return false;
};
var photoswipeParseHash = function() {
var hash = window.location.hash.substring(1),
params = {};
if (hash.length < 5) {
return params;
}
var vars = hash.split('&');
for (var i = 0; i < vars.length; i++) {
if (!vars[i]) {
continue;
}
var pair = vars[i].split('=');
if (pair.length < 2) {
continue;
}
params[pair[0]] = pair[1];
}
if (params.gid) {
params.gid = parseInt(params.gid, 10);
}
return params;
};
var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {
var pswpElement = document.querySelectorAll('.pswp')[0],
gallery,
options,
items;
items = parseThumbnailElements(galleryElement);
// 这里可以定义参数
options = {
barsSize: {
top: 100,
bottom: 100
},
fullscreenEl: false,
shareButtons: [{
id: 'wechat',
label: '分享微信',
url: '#'
},
{
id: 'weibo',
label: '新浪微博',
url: '#'
},
{
id: 'download',
label: '保存图片',
url: '{{raw_image_url}}',
download: true
}
],
galleryUID: galleryElement.getAttribute('data-pswp-uid'),
getThumbBoundsFn: function(index) {
var thumbnail = items[index].el.getElementsByTagName('img')[0], // find thumbnail
pageYScroll = window.pageYOffset || document.documentElement.scrollTop,
rect = thumbnail.getBoundingClientRect();
return {
x: rect.left,
y: rect.top + pageYScroll,
w: rect.width
};
}
};
if (fromURL) {
if (options.galleryPIDs) {
for (var j = 0; j < items.length; j++) {
if (items[j].pid == index) {
options.index = j;
break;
}
}
} else {
options.index = parseInt(index, 10) - 1;
}
} else {
options.index = parseInt(index, 10);
}
if (isNaN(options.index)) {
return;
}
if (disableAnimation) {
options.showAnimationDuration = 0;
}
gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options);
gallery.init();
};
var galleryElements = document.querySelectorAll(gallerySelector);
for (var i = 0, l = galleryElements.length; i < l; i++) {
galleryElements[i].setAttribute('data-pswp-uid', i + 1);
galleryElements[i].onclick = onThumbnailsClick;
}
var hashData = photoswipeParseHash();
if (hashData.pid && hashData.gid) {
openPhotoSwipe(hashData.pid, galleryElements[hashData.gid - 1], true, true);
}
};
initPhotoSwipeFromDOM('.my-gallery');
}, 500)
} else {
//console.log(data.status)
}
},
error: function(xhr, type, errorThrown) { //异常处理;
// mui.alert(type);
}
})
}
getData(1, 10)
$('.nav').on('tap', '.nav_', function() {
$(this).addClass('on').siblings().removeClass('on');
type = $(this).attr('id');
page = 1;
isjiazai = 1;
getData(page, 10, type)
})
document.querySelector('.mui-scroll-wrapper').addEventListener('scroll', function(e) {
if (scroll.y == scroll.maxScrollY) {
if (isjiazai == 1) {
page++;
getData(page, 10, type)
}
}
})
})